Vegan Khao Soi Recipe

I swear this Khao Soi Tofu is ridiculously creamy and spicy in the best way and will wreck your “I’ll just have leftovers” plans.

A photo of Vegan Khao Soi Recipe

I fell hard for this Vegan Khao Soi because it hits every reckless noodle craving after a long week. I adore how full fat coconut milk makes the broth silky and stupidly rich, and how firm tofu soaks up curry into chewy, meaningful bites.

I call Khao Soi Tofu my kitchen flex, and the Thai Vegan spice mix slaps in that slightly messy way. But it’s the crunchy topping against slippery noodles that ruins other soups for me.

No ceremony. Just loud, spicy, creamy, crunchy.

I eat this until my bowl is gone. I keep coming back, no questions asked.

Ingredients

Ingredients photo for Vegan Khao Soi Recipe

  • Vegetable oil: Basically the wok starter, it helps things caramelize nicely.
  • Yellow onion: Sweet base note, it softens and adds cozy savory flavor.
  • Garlic cloves: It’s punchy and aromatic, gives that warm garlicky hug.
  • Fresh ginger: Bright, zesty kick that cuts through the creaminess.
  • Yellow curry powder: Earthy, mildly spicy backbone for that Thai-style vibe.
  • Ground or fresh turmeric: Adds warmth and golden color, slightly bitter and healthy-feeling.
  • Red curry paste: Rich, spicy depth and umami, it’ll make the broth sing.
  • Ground coriander: Citrusy, nutty whisper that rounds out the spices.
  • Ground cumin: Smoky, warm hint that adds savory complexity.
  • Coconut milk: Creamy, lush body that makes the broth silky.
  • Vegetable broth: Light broth base that thins and balances the coconut.
  • Soy sauce or tamari: Salty, savory boost that ties everything together.
  • Lime juice: Bright acidity, it’ll wake up the whole bowl.
  • Brown or palm sugar: Subtle sweetness to balance heat and acidity.
  • Firm tofu: Protein and chew, it soaks up the flavorful broth.
  • Flat noodles: Chewy, slurpy comfort that holds the sauce well.
  • Fried crispy noodles: Crunchy topping for texture contrast and fun bites.
  • Pickled mustard greens: Tangy, slightly funky classic garnish, totally optional.
  • Shallots or red onion: Sharp, crunchy rings for fresh bite.
  • Cilantro and scallions: Herbal brightness and oniony lift, essential garnish.
  • Fresh red chilies: Heat on demand, slice them if you like fire.
  • Chili oil: Oily heat and color, drops make it prettier and spicier.
  • Salt: Simple seasoning, adjust so flavors pop.
  • Black pepper: Subtle bite and warmth, don’t overdo it.

Ingredient Quantities

  • 1 tbsp vegetable oil
  • 1 medium yellow onion, thinly sliced
  • 4 garlic cloves, minced
  • 1 1/2 inch piece fresh ginger, grated
  • 1 1/2 tbsp yellow curry powder
  • 1 tbsp ground turmeric or 1 inch fresh turmeric, grated
  • 2 tbsp red curry paste (vegan)
  • 1 tsp ground coriander
  • 1 tsp ground cumin
  • 1 can (14 oz / 400 ml) full fat coconut milk
  • 2 cups vegetable broth
  • 1 tbsp soy sauce or tamari
  • 1 tbsp lime juice, plus extra wedges for serving
  • 1 tbsp brown sugar or palm sugar
  • 14 oz (400 g) firm tofu, pressed and cubed
  • 8 oz (225 g) fresh or dried flat wheat noodles or egg-free Asian noodles
  • 1 cup fried crispy noodles or store bought crispy wonton strips for topping
  • 1/2 cup pickled mustard greens or chopped dill pickles, optional but traditional
  • 1/4 cup thinly sliced shallots or red onion, for garnish
  • 1/4 cup chopped cilantro and 2 scallions, sliced, for garnish
  • Fresh red chilies or chili oil, to taste
  • Salt and black pepper, to taste

How to Make this

1. Heat 1 tbsp vegetable oil in a large pot over medium heat. Add the thinly sliced yellow onion and sauté until soft and starting to brown, about 6 to 8 minutes. Toss in the minced garlic and grated ginger and cook 1 minute more until fragrant.

2. Stir in 1 1/2 tbsp yellow curry powder, 1 tbsp ground turmeric (or 1 inch grated fresh), 2 tbsp vegan red curry paste, 1 tsp ground coriander and 1 tsp ground cumin. Cook the spices with the aromatics for 1 to 2 minutes, stirring so they don’t burn. This wakes up the flavors.

3. Pour in 1 can (14 oz / 400 ml) full fat coconut milk and 2 cups vegetable broth. Scrape the bottom of the pot to loosen browned bits. Bring to a gentle simmer and let it cook 8 to 10 minutes so the spices meld and the broth thickens slightly.

4. Season the broth with 1 tbsp soy sauce or tamari, 1 tbsp lime juice, 1 tbsp brown or palm sugar, and salt and black pepper to taste. Taste and adjust acidity or salt now, it should be balanced sweet, salty and tangy.

5. While the broth simmers, press and cube 14 oz firm tofu. In a skillet over medium heat add a little oil and pan-fry the tofu cubes until golden on all sides, about 8 to 10 minutes. Set aside. You can bake them at 400 F for 25 minutes if you want less oil.

6. Cook 8 oz fresh or dried flat wheat noodles (or egg-free Asian noodles) according to package directions until just tender. Drain and rinse briefly under warm water to stop cooking and keep them from sticking.

7. Add the fried tofu to the simmering coconut curry broth and warm through 2 to 3 minutes. If you like a thinner soup, add a splash more vegetable broth or water.

8. Assemble bowls by placing a nest of noodles in each bowl, ladling the hot curry broth and tofu over top. Top each bowl with about 1/4 cup fried crispy noodles or store bought crispy wonton strips for crunch.

9. Garnish with pickled mustard greens or chopped dill pickles if using, then sprinkle thinly sliced shallots or red onion, chopped cilantro, sliced scallions, and fresh red chilies or a drizzle of chili oil to taste. Add extra lime wedges on the side.

10. Final check: taste for salt, lime and heat, add more soy sauce, lime juice or chili if needed. Serve immediately so the fried noodles stay crunchy and enjoy the creamy, spicy, comforting Vegan Khao Soi.

Equipment Needed

1. Large heavy pot or Dutch oven for sautéing and simmering
2. Large skillet for pan frying the tofu (or a baking sheet if you bake it)
3. Cutting board and a sharp chef knife for onions, garlic, ginger and garnishes
4. Box grater or microplane for grating ginger and fresh turmeric if using
5. Measuring spoons and measuring cup for spices, coconut milk and broth
6. Wooden spoon or heatproof spatula for stirring and scraping browned bits
7. Large pot for cooking noodles plus a colander for draining them
8. Ladle and tongs for assembling bowls, plus small bowls for lime wedges and garnishes

FAQ

A: Yes. Use rice noodles or other egg free gluten free Asian noodles and swap soy sauce for tamari. Check your red curry paste for hidden fish or wheat, most are fine but read the label.

A: Press it well for at least 15 to 30 minutes, cube it, then either pan fry in a little oil on medium high or bake at 425°F (220°C) for 20 to 30 minutes, turning once. Don’t crowd the pan, or it will steam instead of crisp.

A: Chopped dill pickles, quick pickled cucumbers, or even a splash of rice vinegar with a pinch of sugar work. The point is to add tang and contrast to the rich coconut broth.

A: For richer, use the full fat coconut milk and simmer gently without boiling too hard. For thinner, add more vegetable broth or a little water and taste as you go.

A: The broth and tofu keep well in the fridge for 3 to 4 days. Noodles and crispy toppings get soggy, so store them separately. Freezing the finished soup is possible but noodles will be mushy when thawed, so freeze just the broth and tofu if you plan to freeze.

A: Start with less red curry paste and add more later. You can always serve extra sliced fresh chilies or chili oil on the side so each person can spice their bowl the way they like. Remember, coconut milk tones down heat so the final flavor can be milder than the paste tastes raw.

Vegan Khao Soi Recipe Substitutions and Variations

  • Coconut milk: use light coconut milk for fewer calories but cook a bit longer to thicken, or replace with 14 oz unsweetened oat milk plus 2 tbsp coconut cream for coconut flavor, or try cashew cream (blend 1 cup soaked cashews with 1 cup water) for a rich, neutral base.
  • Tofu: swap with tempeh (crumbled or cubed) for nuttier flavor and firmer bite, or use cooked chickpeas for a protein-packed, slightly sweet alternative, or try seared king oyster mushrooms sliced thick for meaty texture.
  • Noodles: fresh flat wheat noodles can be swapped with rice noodles (pad thai style) for gluten free, or use udon for chewier, thicker noodles, or try soba made from 100% buckwheat if you want nuttier taste and gluten free option.
  • Pickled mustard greens: if you cant find them use chopped dill pickles for tang and crunch, or quick-pickle some cabbage or cucumber in rice vinegar and sugar for a similar bright bite, or use kimchi for spicy, fermented depth.

Pro Tips

– Press the tofu longer than you think. Let it sit under something heavy for at least 30 minutes, or wrap in towels and squeeze again right before cooking. Drier tofu soaks up more sauce and crisps way better.

– Heat the spices briefly in oil until they smell toasted, but watch them closely. If they burn it will taste bitter. If you want deeper flavor, toast whole spices like coriander seeds first and crush them.

– Keep the crispy noodles and pickles totally separate until the last second. If you add them earlier they go soggy fast. Serve with little bowls of garnishes so everyone can control crunch and tang.

– If the broth tastes flat at the end, add acid first like lime, then a touch of sugar, then salt. Tiny changes go a long way. Also, if it’s too thick, add hot broth or water, not cold, so it doesn’t shock the coconut milk and separate.

Vegan Khao Soi Recipe

Vegan Khao Soi Recipe

Recipe by Pho Tsventsi

0.0 from 0 votes

I swear this Khao Soi Tofu is ridiculously creamy and spicy in the best way and will wreck your "I'll just have leftovers" plans.

Servings

4

servings

Calories

539

kcal

Equipment: 1. Large heavy pot or Dutch oven for sautéing and simmering
2. Large skillet for pan frying the tofu (or a baking sheet if you bake it)
3. Cutting board and a sharp chef knife for onions, garlic, ginger and garnishes
4. Box grater or microplane for grating ginger and fresh turmeric if using
5. Measuring spoons and measuring cup for spices, coconut milk and broth
6. Wooden spoon or heatproof spatula for stirring and scraping browned bits
7. Large pot for cooking noodles plus a colander for draining them
8. Ladle and tongs for assembling bowls, plus small bowls for lime wedges and garnishes

Ingredients

  • 1 tbsp vegetable oil

  • 1 medium yellow onion, thinly sliced

  • 4 garlic cloves, minced

  • 1 1/2 inch piece fresh ginger, grated

  • 1 1/2 tbsp yellow curry powder

  • 1 tbsp ground turmeric or 1 inch fresh turmeric, grated

  • 2 tbsp red curry paste (vegan)

  • 1 tsp ground coriander

  • 1 tsp ground cumin

  • 1 can (14 oz / 400 ml) full fat coconut milk

  • 2 cups vegetable broth

  • 1 tbsp soy sauce or tamari

  • 1 tbsp lime juice, plus extra wedges for serving

  • 1 tbsp brown sugar or palm sugar

  • 14 oz (400 g) firm tofu, pressed and cubed

  • 8 oz (225 g) fresh or dried flat wheat noodles or egg-free Asian noodles

  • 1 cup fried crispy noodles or store bought crispy wonton strips for topping

  • 1/2 cup pickled mustard greens or chopped dill pickles, optional but traditional

  • 1/4 cup thinly sliced shallots or red onion, for garnish

  • 1/4 cup chopped cilantro and 2 scallions, sliced, for garnish

  • Fresh red chilies or chili oil, to taste

  • Salt and black pepper, to taste

Directions

  • Heat 1 tbsp vegetable oil in a large pot over medium heat. Add the thinly sliced yellow onion and sauté until soft and starting to brown, about 6 to 8 minutes. Toss in the minced garlic and grated ginger and cook 1 minute more until fragrant.
  • Stir in 1 1/2 tbsp yellow curry powder, 1 tbsp ground turmeric (or 1 inch grated fresh), 2 tbsp vegan red curry paste, 1 tsp ground coriander and 1 tsp ground cumin. Cook the spices with the aromatics for 1 to 2 minutes, stirring so they don't burn. This wakes up the flavors.
  • Pour in 1 can (14 oz / 400 ml) full fat coconut milk and 2 cups vegetable broth. Scrape the bottom of the pot to loosen browned bits. Bring to a gentle simmer and let it cook 8 to 10 minutes so the spices meld and the broth thickens slightly.
  • Season the broth with 1 tbsp soy sauce or tamari, 1 tbsp lime juice, 1 tbsp brown or palm sugar, and salt and black pepper to taste. Taste and adjust acidity or salt now, it should be balanced sweet, salty and tangy.
  • While the broth simmers, press and cube 14 oz firm tofu. In a skillet over medium heat add a little oil and pan-fry the tofu cubes until golden on all sides, about 8 to 10 minutes. Set aside. You can bake them at 400 F for 25 minutes if you want less oil.
  • Cook 8 oz fresh or dried flat wheat noodles (or egg-free Asian noodles) according to package directions until just tender. Drain and rinse briefly under warm water to stop cooking and keep them from sticking.
  • Add the fried tofu to the simmering coconut curry broth and warm through 2 to 3 minutes. If you like a thinner soup, add a splash more vegetable broth or water.
  • Assemble bowls by placing a nest of noodles in each bowl, ladling the hot curry broth and tofu over top. Top each bowl with about 1/4 cup fried crispy noodles or store bought crispy wonton strips for crunch.
  • Garnish with pickled mustard greens or chopped dill pickles if using, then sprinkle thinly sliced shallots or red onion, chopped cilantro, sliced scallions, and fresh red chilies or a drizzle of chili oil to taste. Add extra lime wedges on the side.
  • Final check: taste for salt, lime and heat, add more soy sauce, lime juice or chili if needed. Serve immediately so the fried noodles stay crunchy and enjoy the creamy, spicy, comforting Vegan Khao Soi.

Notes

  • Below you’ll find my best estimate of this recipe’s nutrition facts. Treat the numbers as a guide rather than a rule—great food should nourish both body and spirit. Figures are approximate, and the website owner assumes no liability for any inaccuracies in this recipe.

Nutrition Facts

  • Serving Size: 447g
  • Total number of serves: 4
  • Calories: 539kcal
  • Fat: 25g
  • Saturated Fat: 10.8g
  • Trans Fat: 0g
  • Polyunsaturated: 5g
  • Monounsaturated: 7.5g
  • Cholesterol: 0mg
  • Sodium: 535mg
  • Potassium: 622mg
  • Carbohydrates: 54g
  • Fiber: 4g
  • Sugar: 5g
  • Protein: 19g
  • Vitamin A: 800IU
  • Vitamin C: 10mg
  • Calcium: 225mg
  • Iron: 3.5mg

Please enter your email to print the recipe: