Some soups whisper. This one hums.
This Thai Broccoli Coconut Soup takes the familiar idea of a creamy broccoli soup somewhere completely different. It’s smooth and comforting, but underneath that creaminess are the fragrant, warming flavours you associate with Thai cooking, giving the soup far more character than its simple green appearance might suggest.
Broccoli still very much tastes like broccoli here, and I think that’s important. Rather than covering it up, the coconut milk softens its earthiness while the aromatics bring freshness, warmth and just enough heat. The result is creamy without becoming rich or heavy.
What makes this soup so good, though, is the balance. Nothing dominates. There’s sweetness, a little heat and a fresh citrusy edge, all wrapped around that deep green broccoli base. Finish it with something crisp on top and suddenly a simple bowl of soup has a lot more going on.
Why you’ll love this recipe
- Broccoli gets to be the main event. Rather than disappearing beneath cheese or cream, it remains the defining flavour of the soup. It’s a very different way to use a vegetable that so often ends up playing a supporting role.
- Pumpkin quietly earns its place. You won’t immediately identify it in the finished soup, but it adds natural sweetness and gives the blended soup more body. It also softens some of broccoli’s earthier notes without competing with them.
- Naturally plant-based. There are no substitutions needed to make this soup vegan. Coconut milk is part of the recipe from the outset, bringing exactly the richness the soup needs without relying on dairy.
- The toppings aren’t an afterthought. Sautéed chopped broccoli, sesame seeds and crisp fried shallots give the smooth soup some much-needed texture. Finish with a little coconut milk and chilli oil, and every bowl gets crunch, heat and richness right at the end.
Ingredients You’ll Need
Coconut milk. Brings creaminess and rounds out the stronger aromatics without overwhelming the flavour of the broccoli.
Broccoli. The main vegetable in the soup. Most is cooked until tender and blended into the base, while a little is kept aside, finely chopped and sautéed until lightly golden for the topping. This gives the finished soup a contrast in texture while keeping the garnish connected to what’s in the bowl.
Shallots and garlic. Form the savoury base of the soup, with the shallots bringing a gentle sweetness as they soften.
Galangal or fresh ginger. Galangal has a peppery, citrusy character that works especially well here. Fresh ginger is a good alternative if galangal is difficult to find, although it will give the soup a slightly different flavour.
Thai green chilli. Adds heat without taking over the soup. Chillies can vary in strength, so adjust according to the one you’re using and how much heat you enjoy.
Lemongrass and lime leaves. Bring their distinctive citrusy fragrance as the soup cooks. Using both gives the broth more depth than relying on lime juice alone at the end.
Star anise and black peppercorns. Used sparingly, they add warmth and a subtle spiced note that sits behind the fresher flavours.
Celery. Adds a savoury background note that supports the broccoli and aromatics without standing out on its own.
Pumpkin. Brings natural sweetness and helps give the blended soup body. Its flavour remains subtle, so the broccoli still takes centre stage.
Thai basil. Adds a fresh, slightly peppery herbal note towards the end. It has a different character from sweet Italian basil, so Thai basil is worth using when you can find it.
Vegetable stock. The main cooking liquid, so use one you enjoy the flavour of. If using shop-bought stock, keep its salt level in mind when seasoning the soup.
Lime juice. Added towards the end to bring acidity and sharpen the finished flavours.
Fried shallots and sesame seeds. Along with the sautéed broccoli, these add crunch and a savoury, nutty finish against the smooth soup.
How to Make It
Start with the coconut milk. Add a little coconut milk to a heavy-bottomed pan over medium heat and stir as it warms. You may notice it begin to separate, with a little oil appearing at the surface. That is exactly what you’re looking for before the aromatics go in.
Soften the aromatics. Add the shallots, garlic, galangal or ginger, green chilli and peppercorns. Cook for a few minutes until the shallots have softened and everything smells fragrant, without letting them brown. Stir in the chopped lemongrass and give it another minute to release its fragrance.
Build the soup. Set aside a small handful of the chopped broccoli for the topping, then add the rest to the pan with the pumpkin and celery. Add the lime leaves, whole lemongrass stalk and star anise, then pour in the vegetable stock and season with salt. Bring everything to the boil, lower the heat and cover. Simmer gently until the broccoli is completely tender. You don’t want much bite left here; properly softened vegetables will give you a much smoother soup once blended.
Make the broccoli topping. While the soup simmers, cut the reserved broccoli into small florets. Heat a little oil in a small frying pan and sauté them until tender with lightly golden edges, then remove and set aside. Use the same pan to dry roast the sesame seeds until lightly toasted. Keeping the two separate means the sesame seeds toast rather than fry in the oil.
Let the soup cool slightly. Once the vegetables are tender, switch off the heat and remove the whole lemongrass stalk and star anise. Leave the soup to cool a little before transferring it to the blender. The lime leaves stay in and are blended with the soup.
Add the basil and blend. Add the Thai basil just before blending so its flavour hasn’t been lost through a long simmer. Blend until completely smooth, giving it a little longer if you can still see small pieces of broccoli or herbs.
Finish gently. Return the soup to the pan and stir through the remaining coconut milk, keeping a little aside for serving. Warm over a low heat without bringing it back to the boil. Add the lime juice, then taste before adjusting the salt.
Add the finishing touches. Ladle the soup into bowls and top with the sautéed broccoli florets, toasted sesame seeds and fried shallots. Finish with a swirl of coconut milk and a little chilli oil, if using.
Helpful Tips and tricks
- Prep the lemongrass properly. Remove the tough outer layers before using it. For the stalk that goes into the soup whole, give it a firm bash with the side of a knife first. This helps release its fragrance while still making it easy to fish out before blending.
- Galangal and ginger aren’t quite the same. Ginger works well when galangal isn’t available, but don’t expect an identical flavour. Galangal is more peppery and citrusy, while ginger is warmer and slightly sweeter. There’s no need to change the quantity when making the swap.
- Let the blender do the work. Broccoli stalks, lime leaves and the chopped lemongrass all need to disappear into the finished soup, so don’t stop blending as soon as it looks smooth. Give it a little longer, especially if your blender isn’t particularly powerful.
- Adjust the consistency at the end. Broccoli and pumpkin can vary in moisture, so the finished thickness may change slightly from one batch to another. If the soup is too thick after blending, loosen it with a little hot vegetable stock rather than extra coconut milk, which would alter the flavour.
- Balance the broccoli if needed. Broccoli can sometimes taste more earthy or slightly bitter depending on the season and the head you’re using. If that flavour feels too pronounced after blending, add a little palm sugar and taste again. You aren’t looking for sweetness, just enough to soften the edges and bring the coconut, lime and aromatics back into balance.
- Taste after the lime goes in. Lime juice can change how you perceive both salt and chilli. Make your final seasoning adjustments only after you’ve added it, rather than trying to get everything exactly right earlier in the cooking.
Q: Can I use frozen broccoli?
A: Yes. Fresh broccoli gives you a brighter colour and is better for the sautéed florets on top, but frozen broccoli works well for the soup itself. Add it straight from frozen and allow a little extra time for the soup to return to a simmer. I would still use fresh broccoli for the topping if possible, as frozen florets tend to be softer once cooked.
Q: Can I make this soup ahead of time?
A: Yes. Make the soup a day or two ahead and keep it covered in the fridge, but prepare the toppings separately. Reheat the soup gently over a low heat and add the sautéed broccoli, sesame seeds and fried shallots only when you’re ready to serve.
Q: Can I freeze Thai Broccoli Coconut Soup?
A: Yes. Let it cool completely before freezing in portions. Thaw overnight in the fridge, then reheat gently on the hob. Coconut milk can sometimes separate slightly after freezing, but stirring the soup as it warms should bring it back together. Keep the toppings for the day you’re serving it.
Q: What can I use if I can’t find Thai basil?
A: Use a combination of fresh coriander and baby spinach. The coriander brings freshness while the spinach helps maintain the green colour without introducing a strong competing flavour. It won’t taste exactly like Thai basil, but it works well with the rest of the soup.
Q: Can I make this soup without coconut milk?
A: You can, but coconut milk is quite important to the character of this recipe, so I wouldn’t replace it unless necessary. For a plant-based alternative, unsweetened oat cream would give you some of the same richness, although you’ll lose the coconut flavour. If dairy isn’t an issue, a little single cream can also work.
Looking for Other Soup recipes? Here are few of our favourites
Creamy Carrot Soup with Tahini
Mulligatawny – Lentil and Vegetable Soup
Wontons in Spicy Gochujang Broth
If you make this recipe I’d love to hear how it turned out. Leave a comment below and let me know. It genuinely makes a difference to know what’s working and what isn’t, and I read every single one. You can also find me on Pinterest, Instagram and Facebook where I share new recipes, behind the scenes and whatever else is happening in the kitchen at Poetry of Spices.
Ingredients
For the soup
For the topping
method
(50 ml coconut milk)
(2 shallots, 4 garlic cloves, 2 tsp galangal or ginger, 1 green chilli, 5 peppercorns)
(1 lemongrass stalk, chopped)
(Broccoli, pumpkin, celery, 2 lime leaves, 1 whole lemongrass stalk, 1 star anise, vegetable stock, salt)
(Reserved broccoli, 1 tsp oil, 1 tbsp sesame seeds)
(¼ cup Thai basil leaves)
(Remaining coconut milk)
(2 tbsp lime juice, salt as needed)
(Sautéed Broccoli, toasted sesame, 2 tbsp fried shallots, 1 tbsp coconut milk, chilli oil optional)

2 comments
The flavours in this soup sing. Am in love with this recipe!
Jasmine
Hey Jasmine, What a lovely way to describe it! I’m thrilled you enjoyed it and that the flavours hit all the right notes. Thanks for sharing.