There are certain recipes that feel like a warm hug in a bowl, and this Thai Vegetable Soup is unequivocally one of them. The first time I made this, my kitchen was instantly filled with the most intoxicating aroma—a fragrant blend of ginger, garlic, lemongrass, and warming curry spices. It was one of those chilly, gray evenings where all you crave is comfort, and this soup delivered in every possible way. My family, initially skeptical about a purely vegetable-based soup, was completely won over from the first spoonful. The creamy, luxurious coconut broth, punctuated by the vibrant freshness of lime and basil, was the perfect backdrop for the hearty vegetables and satisfying cubes of tofu. It’s since become a staple in our home, a go-to for busy weeknights when we need something nourishing and quick, but also special enough for a cozy weekend meal. It’s a dish that proves that vegan and gluten-free eating is not about restriction, but about an explosion of flavor, texture, and pure, wholesome goodness. This recipe, developed by the talented Jamie Vespa MS, RD, is a masterclass in balanced, beautiful, and incredibly delicious plant-based cooking.
A Symphony of Flavors: The Ingredients
The beauty of this Thai Vegetable Soup lies in its harmonious blend of fresh, aromatic, and hearty components. Each ingredient plays a crucial role in building layers of flavor and texture, creating a final dish that is both complex and comforting. Here’s a breakdown of what you’ll need and why it’s important.
The Aromatic Foundation
- 3 Tbsp. neutral cooking oil, divided: Using a neutral oil like avocado, grapeseed, or canola ensures that the pure flavors of the aromatics shine through. We divide it to first sauté the vegetables and later to toast the spices perfectly.
- 1 yellow onion, finely chopped: The onion provides a sweet, savory base that is fundamental to almost any great soup.
- 2 Tbsp. minced fresh ginger: Fresh ginger is non-negotiable for that signature Thai warmth and zesty spice. It has a pungent, slightly sweet heat that mellows beautifully as it cooks.
- 1 Tbsp. minced fresh garlic: Garlic adds a deep, savory aroma and pungent flavor that complements the ginger perfectly.
- 1 Tbsp. lemongrass paste: This is a key ingredient for authentic Thai flavor. Lemongrass provides a unique, citrusy, and slightly floral note that is irreplaceable. The paste form is a convenient and potent alternative to bruising fresh stalks.
The Hearty Vegetable Medley
- 1 red bell pepper, thinly sliced: Red bell peppers add a wonderful sweetness and vibrant color that brightens the entire dish.
- 1 large carrot, finely chopped: Carrots contribute a subtle, earthy sweetness and a firm texture that holds up well during simmering.
- 5 oz. shiitake mushrooms, sliced or torn: Shiitake mushrooms are a star player, offering a deep, umami-rich, and “meaty” flavor that adds incredible depth to the vegetable broth.
- 2 heads baby bok choy, stemmed and quartered: Baby bok choy is tender and mild. The stems remain slightly crisp while the leaves wilt into silky ribbons, adding a wonderful textural contrast.
The Spice and Broth Infusion
- 1 tsp. kosher salt, divided (or more to taste): Salt is essential for enhancing all the other flavors. We add it in stages to season the vegetables and then the final soup.
- 1 Tbsp. curry powder: A good quality curry powder provides a complex blend of warming spices like cumin, coriander, and fenugreek, forming the heart of the soup’s flavor profile.
- 1 tsp. ground coriander: This adds a warm, citrusy, and slightly sweet note that complements the curry powder.
- 1 tsp. ground turmeric: Turmeric gives the soup its beautiful golden hue and adds an earthy, slightly bitter flavor that balances the richness of the coconut milk.
- 6 cups vegetable broth: Use a high-quality vegetable broth, as it forms the liquid base of your soup. A flavorful broth will make a significant difference.
- 1 (13.5-oz.) can regular or lite coconut milk: This is what gives the soup its signature creaminess and rich, tropical flavor. Full-fat coconut milk will yield a richer, more luxurious broth, while lite coconut milk is a great option for a lighter version.
The Protein and Finishing Touches
- 1 (14-oz.) block firm tofu, drained, pressed, and cut into small cubes: Tofu is a fantastic source of plant-based protein. Pressing it is a crucial step to remove excess water, allowing it to absorb the flavors of the broth and achieve a firmer, more pleasant texture.
- 1/4 cup fresh chopped basil leaves, plus more for garnish: Fresh basil, stirred in at the end, adds a burst of fresh, peppery, and slightly sweet flavor. Thai basil is ideal if you can find it, but regular sweet basil works beautifully too.
- 1 to 2 Tbsp. fresh lime juice: A squeeze of fresh lime juice at the end is the secret to a bright, vibrant soup. It cuts through the richness of the coconut milk and makes all the flavors pop.
- Optional for serving: cooked Jasmine rice: Serving the soup with Jasmine rice makes it a more substantial and complete meal, perfect for soaking up every last drop of the delicious broth.
Step-by-Step Guide to Perfection: The Instructions
Following these instructions carefully will guide you to a perfect pot of soup. The process is straightforward, focusing on building layers of flavor at each stage.
Step 1: Sauté the Vegetables
Begin by heating 2 tablespoons of the neutral cooking oil in a large stockpot or Dutch oven over medium heat. Once the oil is shimmering, add the finely chopped yellow onion, thinly sliced red bell pepper, and finely chopped carrot. Cook these vegetables for about 6 to 7 minutes, stirring occasionally. You’re looking for them to soften and for the onion to become translucent. This initial sauté builds the sweet, savory base of the soup. Next, add the sliced or torn shiitake mushrooms. Continue to cook for another 5 minutes, stirring occasionally, until the mushrooms have released their moisture and started to turn a lovely golden brown. Season this vegetable mixture with 1/2 teaspoon of kosher salt.
Step 2: Bloom the Aromatics and Spices
Now it’s time to introduce the powerful aromatics. Stir in the minced fresh ginger, minced fresh garlic, and lemongrass paste. Cook for about 2 minutes, stirring constantly until they become incredibly fragrant. Be careful not to let the garlic burn. This step, known as “blooming,” toasts the spices and aromatics, which awakens their essential oils and deepens their flavor immeasurably. Follow with the curry powder, ground coriander, and ground turmeric. Continue to cook and stir for another minute until the spices are fragrant and have coated all the vegetables. Your kitchen should smell absolutely divine at this point.
Step 3: Simmer the Soup
Pour in the 6 cups of vegetable broth and the can of coconut milk. Use a wooden spoon or spatula to scrape up any browned bits that have stuck to the bottom of the pan—this is called deglazing, and those bits are packed with flavor. Gently stir everything together. Now, add the quartered baby bok choy, the pressed and cubed tofu, and the remaining 1/2 teaspoon of salt. Bring the soup to a gentle simmer. It’s important not to let it come to a rolling boil, as this can cause the coconut milk to separate or “curdle.” Allow the soup to simmer gently, uncovered, for 15 to 20 minutes. This gives the flavors time to meld and the broth to reduce slightly, concentrating its taste.
Step 4: The Finishing Touches
Once the soup has finished simmering, remove the pot from the heat. This is the final and crucial step for adding brightness and freshness. Stir in the 1/4 cup of fresh chopped basil and 1 to 2 tablespoons of fresh lime juice. Start with 1 tablespoon of lime juice, taste the soup, and add more if you feel it needs more zing. At this stage, you should also taste for salt and adjust any seasonings as needed. The soup might need another pinch of salt to bring all the flavors into focus. Ladle the hot soup into bowls. If desired, add a scoop of cooked Jasmine rice to each bowl before pouring the soup over it. Garnish with a few extra fresh basil leaves for a beautiful presentation.
Nutrition Facts
This recipe is designed to be as nourishing as it is delicious.
- Servings: 5 generous servings
- Calories per serving (approximate): Around 350-400 kcal per serving without rice. This is an estimate and can vary based on the specific brands of coconut milk and vegetable broth used, as well as the exact size of your vegetables. Adding 1/2 cup of cooked Jasmine rice will add approximately 100-120 calories per serving. This soup is a fantastic source of plant-based protein from tofu, fiber from the wealth of vegetables, and healthy fats from coconut milk.
Preparation Time
Efficiency is key for a great weeknight meal, and this recipe is designed to be manageable.
- Prep Time: 15 minutes. This includes all the chopping of the vegetables, mincing the aromatics, and pressing the tofu. You can be even more efficient by prepping your ingredients while the initial vegetables are sautéing.
- Cook Time: 30 minutes. This is the active cooking and simmering time on the stovetop.
- Total Time: 45 minutes. From start to finish, you can have this stunning, restaurant-quality soup on the table in under an hour.
How to Serve Your Thai Vegetable Soup
Serving this soup can be an experience in itself. While it’s perfect on its own, a few simple additions can elevate it to a memorable meal.
- With a Grain:
- Jasmine Rice: The classic choice. Its fragrant, slightly sticky nature is perfect for soaking up the coconut curry broth.
- Brown Rice: For a healthier, whole-grain option with a nuttier flavor and chewier texture.
- Rice Noodles: For a gluten-free alternative that turns the soup into something closer to a Thai curry noodle soup or “Khao Soi.”
- Create a Garnish Bar: Allow everyone to customize their own bowl. Set out small bowls with an array of toppings:
- Fresh Herbs: Extra fresh basil, chopped cilantro, or mint.
- A Touch of Heat: Sliced red chilies, red pepper flakes, or a drizzle of sriracha or chili-garlic sauce.
- Crunch Factor: Toasted peanuts, cashews, or crispy fried shallots.
- Extra Acidity: Extra lime wedges for squeezing over the top.
- Freshness: Bean sprouts or thinly sliced scallions (green onions).
- As a Complete Meal: Pair the soup with some complementary sides for a larger feast.
- Fresh Spring Rolls: Serve with a peanut dipping sauce for a light and fresh accompaniment.
- Simple Cucumber Salad: A quick salad of sliced cucumber, red onion, and rice vinegar can provide a cool, crisp contrast.
Additional Tips for the Best Soup Ever
Here are five expert tips to ensure your Thai Vegetable Soup is absolutely perfect every time.
1. The Art of Pressing Tofu: This is the single most important tip for great tofu in soup. Tofu is packed in water, and if you don’t press that water out, it acts like a sponge that’s already full. It won’t be able to absorb the flavorful broth, and its texture can be soft and watery. To press tofu, drain the block, wrap it in several layers of paper towels or a clean kitchen towel, place it on a plate, and put something heavy on top (like a cast-iron skillet or a few books). Let it press for at least 15 minutes, but 30 minutes is even better. You’ll be amazed at how much water comes out and how much better the final texture is.
2. Don’t Boil the Coconut Milk: When you add the coconut milk and broth, bring the soup to a gentle simmer, not a rolling boil. High heat can cause the fats and liquids in coconut milk to separate, resulting in a curdled or grainy texture. A gentle, steady simmer is all you need to meld the flavors and cook the vegetables through while keeping the broth silky smooth and creamy.
3. Customize Your Spice and Flavor: This recipe is a fantastic template. Feel free to make it your own! If you love heat, add a chopped red chili or a teaspoon of red curry paste along with the other spices. If you prefer it milder, ensure your curry powder is a mild variety. For a more pronounced sour note, add a little extra lime juice. For more umami depth, add a splash of tamari or soy sauce at the end of cooking.
4. Smart Ingredient Swaps and Additions: Don’t be afraid to substitute vegetables based on what you have on hand.
- Greens: Instead of bok choy, you can wilt in a few large handfuls of fresh spinach or chopped kale at the very end of cooking.
- Other Veggies: Broccoli or cauliflower florets, green beans, or snap peas would all be delicious additions. Add heartier vegetables like broccoli with the carrots and peppers.
- Protein: If you’re not a fan of tofu, you could use a can of drained and rinsed chickpeas or some edamame, adding them along with the broth.
5. Meal Prep and Storage Savvy: This soup is fantastic for meal prepping. You can make a large batch and enjoy it for a few days. Store it in an airtight container in the refrigerator for up to 4 days. When reheating, do so gently on the stovetop or in the microwave. Note that the bok choy will soften further upon reheating, which is perfectly fine. If you prefer it crisper, you can cook the soup base without the bok choy and add it in, freshly wilted, when you reheat individual portions.
Frequently Asked Questions (FAQ)
Here are answers to some common questions you might have about this delightful soup.
1. Can I make this soup with chicken or shrimp instead of tofu?
Absolutely. If you want to add animal protein, you can easily adapt the recipe. For chicken, use about one pound of boneless, skinless chicken breast or thighs, cut into bite-sized pieces. Sauté the chicken after the onions, peppers, and carrots until it’s cooked through, then remove it from the pot and proceed with the recipe. Add the cooked chicken back in during the last 5 minutes of simmering. For shrimp, use one pound of peeled and deveined shrimp. Add them during the last 3-4 minutes of simmering, as they cook very quickly. They are done when they turn pink and opaque.
2. What can I use if I can’t find lemongrass paste?
Lemongrass paste is a great convenience item, but if you can’t find it, you have options. The best substitute is fresh lemongrass. You’ll need about 2 stalks. To use them, trim off the very bottom and the tough upper green parts. Peel away the dry outer layers. Finely mince the tender lower portion of the stalk, or simply smash the stalks with the back of a knife to release their oils and add them to the pot to simmer. Just remember to remove the large pieces before serving. In a pinch, you could use the zest of one lime to mimic the citrusy notes, though it won’t have the same unique floral quality.
3. Is this soup very spicy?
As written, this soup is more fragrant and flavorful than it is spicy. The “heat” comes primarily from the fresh ginger and the blend of spices in the curry powder. Most standard curry powders are mild to medium. The heat level is very gentle and family-friendly. If you want to increase the spiciness, the easiest way is to add red pepper flakes, a fresh minced chili, or a drizzle of a chili-based sauce like sriracha either during cooking or as a garnish when serving.
4. Does this Thai Vegetable Soup freeze well?
Yes, this soup freezes quite well, making it a wonderful meal to have on hand. However, there are a couple of things to keep in mind. The texture of tofu and bok choy can change slightly after being frozen and thawed; they may become a bit softer. For the best results, allow the soup to cool completely before transferring it to freezer-safe containers. It can be frozen for up to 3 months. To serve, thaw it overnight in the refrigerator and then reheat gently on the stovetop, adding a fresh squeeze of lime juice and fresh basil to liven it up.
5. What is the difference between using regular and lite coconut milk in this recipe?
The choice between regular (full-fat) and lite coconut milk primarily affects the richness and creaminess of the soup’s broth.
- Regular Coconut Milk: This will give you a much richer, creamier, and more decadent broth with a more pronounced coconut flavor. It’s the traditional choice for Thai curries and soups and provides a truly luxurious texture.
- Lite Coconut Milk: This has a higher water content and lower fat content. The resulting broth will be thinner and less creamy, but it’s a great option if you’re looking to reduce the overall calories and saturated fat in the dish. The soup will still be delicious, just with a lighter consistency.
Thai Vegetable Soup Recipe
Ingredients
The Aromatic Foundation
- 3 Tbsp. neutral cooking oil, divided: Using a neutral oil like avocado, grapeseed, or canola ensures that the pure flavors of the aromatics shine through. We divide it to first sauté the vegetables and later to toast the spices perfectly.
- 1 yellow onion, finely chopped: The onion provides a sweet, savory base that is fundamental to almost any great soup.
- 2 Tbsp. minced fresh ginger: Fresh ginger is non-negotiable for that signature Thai warmth and zesty spice. It has a pungent, slightly sweet heat that mellows beautifully as it cooks.
- 1 Tbsp. minced fresh garlic: Garlic adds a deep, savory aroma and pungent flavor that complements the ginger perfectly.
- 1 Tbsp. lemongrass paste: This is a key ingredient for authentic Thai flavor. Lemongrass provides a unique, citrusy, and slightly floral note that is irreplaceable. The paste form is a convenient and potent alternative to bruising fresh stalks.
The Hearty Vegetable Medley
- 1 red bell pepper, thinly sliced: Red bell peppers add a wonderful sweetness and vibrant color that brightens the entire dish.
- 1 large carrot, finely chopped: Carrots contribute a subtle, earthy sweetness and a firm texture that holds up well during simmering.
- 5 oz. shiitake mushrooms, sliced or torn: Shiitake mushrooms are a star player, offering a deep, umami-rich, and “meaty” flavor that adds incredible depth to the vegetable broth.
- 2 heads baby bok choy, stemmed and quartered: Baby bok choy is tender and mild. The stems remain slightly crisp while the leaves wilt into silky ribbons, adding a wonderful textural contrast.
The Spice and Broth Infusion
- 1 tsp. kosher salt, divided (or more to taste): Salt is essential for enhancing all the other flavors. We add it in stages to season the vegetables and then the final soup.
- 1 Tbsp. curry powder: A good quality curry powder provides a complex blend of warming spices like cumin, coriander, and fenugreek, forming the heart of the soup’s flavor profile.
- 1 tsp. ground coriander: This adds a warm, citrusy, and slightly sweet note that complements the curry powder.
- 1 tsp. ground turmeric: Turmeric gives the soup its beautiful golden hue and adds an earthy, slightly bitter flavor that balances the richness of the coconut milk.
- 6 cups vegetable broth: Use a high-quality vegetable broth, as it forms the liquid base of your soup. A flavorful broth will make a significant difference.
- 1 (13.5-oz.) can regular or lite coconut milk: This is what gives the soup its signature creaminess and rich, tropical flavor. Full-fat coconut milk will yield a richer, more luxurious broth, while lite coconut milk is a great option for a lighter version.
The Protein and Finishing Touches
- 1 (14-oz.) block firm tofu, drained, pressed, and cut into small cubes: Tofu is a fantastic source of plant-based protein. Pressing it is a crucial step to remove excess water, allowing it to absorb the flavors of the broth and achieve a firmer, more pleasant texture.
- 1/4 cup fresh chopped basil leaves, plus more for garnish: Fresh basil, stirred in at the end, adds a burst of fresh, peppery, and slightly sweet flavor. Thai basil is ideal if you can find it, but regular sweet basil works beautifully too.
- 1 to 2 Tbsp. fresh lime juice: A squeeze of fresh lime juice at the end is the secret to a bright, vibrant soup. It cuts through the richness of the coconut milk and makes all the flavors pop.
- Optional for serving: cooked Jasmine rice: Serving the soup with Jasmine rice makes it a more substantial and complete meal, perfect for soaking up every last drop of the delicious broth.
Instructions
Begin by heating 2 tablespoons of the neutral cooking oil in a large stockpot or Dutch oven over medium heat. Once the oil is shimmering, add the finely chopped yellow onion, thinly sliced red bell pepper, and finely chopped carrot. Cook these vegetables for about 6 to 7 minutes, stirring occasionally. You’re looking for them to soften and for the onion to become translucent. This initial sauté builds the sweet, savory base of the soup. Next, add the sliced or torn shiitake mushrooms. Continue to cook for another 5 minutes, stirring occasionally, until the mushrooms have released their moisture and started to turn a lovely golden brown. Season this vegetable mixture with 1/2 teaspoon of kosher salt.
Now it’s time to introduce the powerful aromatics. Stir in the minced fresh ginger, minced fresh garlic, and lemongrass paste. Cook for about 2 minutes, stirring constantly until they become incredibly fragrant. Be careful not to let the garlic burn. This step, known as “blooming,” toasts the spices and aromatics, which awakens their essential oils and deepens their flavor immeasurably. Follow with the curry powder, ground coriander, and ground turmeric. Continue to cook and stir for another minute until the spices are fragrant and have coated all the vegetables. Your kitchen should smell absolutely divine at this point.
Pour in the 6 cups of vegetable broth and the can of coconut milk. Use a wooden spoon or spatula to scrape up any browned bits that have stuck to the bottom of the pan—this is called deglazing, and those bits are packed with flavor. Gently stir everything together. Now, add the quartered baby bok choy, the pressed and cubed tofu, and the remaining 1/2 teaspoon of salt. Bring the soup to a gentle simmer. It’s important not to let it come to a rolling boil, as this can cause the coconut milk to separate or “curdle.” Allow the soup to simmer gently, uncovered, for 15 to 20 minutes. This gives the flavors time to meld and the broth to reduce slightly, concentrating its taste.
Once the soup has finished simmering, remove the pot from the heat. This is the final and crucial step for adding brightness and freshness. Stir in the 1/4 cup of fresh chopped basil and 1 to 2 tablespoons of fresh lime juice. Start with 1 tablespoon of lime juice, taste the soup, and add more if you feel it needs more zing. At this stage, you should also taste for salt and adjust any seasonings as needed. The soup might need another pinch of salt to bring all the flavors into focus. Ladle the hot soup into bowls. If desired, add a scoop of cooked Jasmine rice to each bowl before pouring the soup over it. Garnish with a few extra fresh basil leaves for a beautiful presentation.
Nutrition
- Serving Size: One Normal Portion
- Calories: 350-400





