My vegetarian khao soi uses a homemade paste built around black cardamom and ginger (not galangal) — the details that separate Northern Thai khao soi from a generic coconut curry noodle soup. The coconut cream gets scooped off the top of an unshaken can and used to fry the paste first, the same way ghee works in Indian cooking. Dairy-free, 45 minutes.

A close up image of khao soi served in a bowl with chopsticks.
Save this recipe!
Enter your email below & we’ll send it straight to your inbox. Plus you’ll get great new recipes from us every week!

The khao soi paste I learned in a Thai cooking class

Shruthi's face

I took a cooking class in Koh Samui from a teacher from Isan, and while Khao Soi is from Northern Thailand, she had learned paste-making from living in the North: build from whole spices and dried chilies, and treat coconut cream as a cooking fat rather than just a liquid.

The detail most Western khao soi recipes miss is black cardamom — large, wrinkly, and smoky, completely different from green cardamom. It gives khao soi its distinctive depth. Without it, you have a good coconut curry noodle soup, not khao soi.

This recipe also uses ginger in the paste rather than galangal — warmer, less piney, and authentic to Northern Thai khao soi specifically.

Don’t shake the can — the thick cream on top gets scooped out and used to fry the paste. The fat splits in the heat and blooms the spices. The thinner milk goes in later to build the soup body.

It’s the same approach I use in my Thai green curry and Thai red curry, and it came from the same class. If you’re new to my Thai recipes, my crispy peanut tofu bowls or Tofu satay are a more accessible starting point before diving into paste-making!

"Toodles, Shruthi" as a signature

Key ingredients and why they matter

An overhead image of the ingredients of khao soi.

Full ingredient list and detailed instructions in the recipe card. Ingredient links also included if you want to purchase them online.

  • Dried red chilies soaked in hot water until soft — they’re the heat and color base of the paste. Drain before blending; the soaking water goes down the sink.
  • Black cardamom is the non-negotiable spice. Toast it with the coriander seeds, crack the pod, use just the seeds inside. Find it at any Asian or South Asian grocery store. Green cardamom is an acceptable substitute if you truly can’t find it, but the smoky depth shifts significantly.
  • Ginger in the paste, not galangal — warmer and more rounded, and authentic to Northern Thai khao soi specifically.
  • Full-fat coconut milk, unshaken — the thick cream scooped from the top fries the paste; the thinner milk builds the broth. Two jobs from one can.
  • Vegan fish sauce (or mushroom soy sauce) adds fermented, briny depth. Don’t skip an umami source here.
  • Extra-firm tofu pressed and pan-fried until golden — it needs to hold its shape through simmering. Firm tofu won’t.
  • Fresh egg noodles give the right chewy texture. Dried egg noodles work — reduce to 10 oz and add a minute to the simmer. Rice noodles are gluten-free but produce a brothier result.
  • The crispy noodle topping is structural, not optional garnish — two ounces of egg noodles fried in oil for 15–30 seconds. Place it last, tall on top of the bowl.

Shruthi’s Top Tips

How to build flavor in layers

  • Add the seasoning sauce in thirds — into the coconut cream, onto the tofu, then with the noodles. Every component gets individually seasoned before becoming part of the whole. The depth is noticeably different than adding it all at once.
  • Add a splash of broth before the noodles go in. Fresh egg noodles added to thick paste without liquid clump immediately.
  • Lime wedges are for the table, not the pot. Adding acid mid-cook changes the coconut milk. Squeeze into individual bowls.
  • Crispy noodles stay crisp at room temperature for about 2 days but go soggy in the fridge. Make them day-of and store uncovered on the counter if working ahead.
  • Weeknight shortcut: 3 tablespoons vegan yellow curry paste (this is the brand I use) replaces the homemade paste entirely. Skip the paste steps and start at the coconut milk separation. Less complex but genuinely good.
An overhead image of khao soi served in a bowl.

How to make vegetarian khao soi

  1. Make the paste. Toast coriander seeds and black cardamom in a dry pan until fragrant. Cool, crack the cardamom, remove seeds. Blend toasted spices with drained chilies, shallots, garlic, ginger, turmeric, and salt into a rough paste.
An overhead image of toasting cardamom pod and coriander seeds.
An overhead image of blending the ingredients together to make a paste in a blender.
  1. Fry the tofu. Pan-fry tofu cubes in a single layer until golden on multiple sides. Transfer to a plate and wipe out the wok.
  2. Fry the crispy noodle topping. Heat oil in a small saucepan until a noodle sizzles on contact. Fry a small handful until puffed and crisp, 15–30 seconds. Drain on paper towels.
An overhead image of frying tofu cubes on a skillet.
An overhead image of cooking the noodles in a pot with oil.
  1. Cook the paste in coconut cream. Scoop the thick cream from the unshaken can into the wok. Fry the paste in the cream, stirring constantly, until fragrant and the oil separates. Add one-third of the seasoning sauce. Add the tofu and another third, stir to coat.
  2. Build the soup. Add a splash of broth to loosen, then the egg noodles and the last third of the seasoning sauce. Toss to coat. Add broth, water, and the remaining thin coconut milk. Simmer until noodles are tender and the broth is creamy — thick curry soup, not watery, but slurpable
An overhead image of adding khao soi paste in a saucepan.
An overhead image of adding coconut cream and tofu on the saucepan.
An overhead image of adding vegetable broth to the saucepan.

How to serve Thai curry noodles

Set out the full condiment spread with sliced shallots, pickled cabbage, peanuts, wonton strips, cilantro, mint, ginger matchsticks, and fresh lime juice, because this isn’t just garnish, it’s how you customize and perfectly balance each bowl of khao soi.

An overhead image of serving the vegetarian khao soi served in a bowl with condiments.

Variations

  • More heat: Add 1–2 extra dried chilies to the paste, or serve chili oil at the table.
  • Shortcut paste: 3 tablespoons vegan yellow curry paste — skip Steps 1–3 and start at the coconut milk separation.
  • Different protein: Pan-fried tempeh in place of tofu, same method.
  • Gluten-free: Rice noodles instead of egg noodles — the soup will be brothier since rice noodles don’t absorb the same way.

Storage and reheating suggestions

Store soup and all toppings separately. Crispy noodles keep at room temperature in an airtight container up to 2 days — don’t refrigerate or they go soggy. Soup refrigerates up to 3 days; noodles absorb broth significantly, so add ¼–½ cup broth or water when reheating.

Reheat on the stovetop over medium-low with a splash of broth — don’t boil or the coconut milk can separate. Microwave works (2 minutes covered, stir halfway, add liquid first) but stovetop is better.

No ratings yet

Vegetarian Khao Soi

My vegetarian khao soi uses homemade paste with black cardamom and ginger — the Northern Thai version, not a generic curry. Dairy-free, ~15g protein, 45 minutes.
Prep Time: 20 minutes
Cook Time: 25 minutes
Total Time: 45 minutes
Servings: 6 servings
Save this recipe!
Enter your email below & we’ll send it straight to your inbox. Plus you’ll get great new recipes from us every week!

Equipment

  • Wok or large deep skillet
  • Blender or food processor (for homemade paste)
  • Small saucepan for frying noodles

Ingredients 

Khao Soi Curry Paste

  • 5 dried red chilies, guajillo or dried Thai chilies
  • 1 teaspoon coriander seeds
  • 1 Chinese black cardamom pod, optional
  • 2 medium shallots, roughly chopped
  • 4 cloves garlic
  • 1 tablespoon fresh ginger, roughly chopped
  • 1 teaspoon ground turmeric, 1-inch piece fresh turmeric, sliced
  • ½ teaspoon kosher salt

Seasoning Sauce:

Tofu

  • 1 14-oz block extra-firm tofu, pressed
  • 2 tablespoons vegetable oil
  • ¼ teaspoon kosher salt

Curry Soup

  • 1 13.5-oz can full-fat coconut milk, unshaken
  • 3 tablespoons neutral oil, such as vegetable or canola
  • 1 cup vegetable broth, low-sodium preferred, plus more as needed
  • ½ cup water
  • 16 oz fresh egg noodles, 10 oz dried egg noodles

Crispy Noodle Topping:

  • vegetable oil, about ½ inch depth
  • 2 oz egg noodles

Serving:

  • 2 medium shallots, thinly sliced
  • 2 green onions, sliced
  • ¼ cup roasted peanuts, roughly chopped
  • 1 tablespoon fresh cilantro, chopped
  • ½ tablespoon fresh mint, chopped
  • 1 tablespoon fresh ginger, cut into thin matchsticks
  • 1 medium lime, cut into wedges
  • 2 tablespoons pickled cabbage, optional

Instructions 

Make the khao soi paste:

  • Place dried chilies in a small bowl and cover with hot water. Soak for 15 minutes until softened. Drain and remove stems.
  • Toast coriander seeds and black cardamom in a dry pan over medium heat until fragrant, about 2 minutes. Let cool, then crack the cardamom pod and remove the seeds.
  • Add toasted spices, drained chilies, shallots, garlic, ginger, turmeric, and salt to a blender or food processor. Blend into a rough paste, scraping down sides as needed. Add 1-2 tablespoons of water if needed to get things moving.
  • Shortcut paste: Substitute 3 tablespoons vegan yellow curry paste (such as Mae Ploy or Mekhala) for the homemade paste. Skip Steps 1-3 and start at Step 4. The flavor will be less complex but still delicious for a weeknight. 

Prep the coconut milk:

  • Without shaking the can, open the coconut milk. Scoop out the thick cream from the top—you should get about ½ cup. Set the cream aside in one bowl and the remaining thinner coconut milk in another.
  • Don't shake the coconut can. The thick cream on top is essential for frying the paste—it's richer and splits in the heat, which blooms the spices properly. The thin milk added later creates the soup consistency.

Cook the tofu:

  • Cut pressed tofu into ¾-inch cubes. Heat 2 tablespoons oil in a wok or large deep skillet over medium-high heat until shimmering.
  • Add tofu cubes in a single layer. Sprinkle with salt. Cook without stirring for 3-4 minutes until golden on the bottom. Flip and cook another 2-3 minutes until golden on multiple sides. Transfer to a plate and wipe out the wok.

Fry the crispy noodle topping:

  • Pour oil to about ½ inch depth in a small saucepan. Heat over medium-high heat until a small piece of noodle sizzles immediately when dropped in.
  • Take a small handful of noodles (about 2 oz) and carefully drop into the hot oil. They will puff and crisp within 15-30 seconds. Flip once if needed. Remove with a slotted spoon to a paper towel-lined plate. Set aside.

Make the curry soup:

  • Heat 3 tablespoons oil in the wok over medium heat. Add all of the khao soi paste. Fry for 1-2 minutes, stirring constantly, until very fragrant and the oil starts to separate.
  • Add the coconut cream (the thick part) and one-third of the seasoning sauce. Stir and let it bubble for about 30 seconds—the cream will meld with the paste into a rich, fragrant base.
  • Add the tofu and another one-third of the seasoning sauce. Stir gently to coat the tofu in the curry base. Cook for 1 minute, letting the tofu absorb the flavors.
  • Add a splash of the vegetable broth first to loosen the curry base, then add the egg noodles and the last third of the seasoning sauce. Toss to coat the noodles in the curry.
  • Add the vegetable broth (1 cup to start), water, and the remaining thin coconut milk. Stir everything together. Bring to a simmer and cook for 3-5 minutes until noodles are tender and the broth is creamy and rich. The consistency should be a thick curry soup—not watery, but slurpable. Add more broth if you prefer it soupier.
  • Taste and adjust—add more soy sauce for salt, more lime juice for acid, or a pinch of sugar for balance.

Serve:

  • Divide the curry noodle soup among 4 deep bowls. Top each with a nest of crispy fried noodles.
  • Serve with condiment bowls on the table: sliced shallots, pickled cabbage, green onions, chopped peanuts, cilantro, mint, ginger matchsticks, and lime wedges. Let everyone customize their bowl.

Notes

  • The staged sauce technique (adding the seasoning in thirds) builds layered flavor. Each addition seasons a different component—the coconut cream, the tofu, then the noodles. Don’t dump it all in at once.
  • Be careful not to overdo the seasoning sauce—the vegetarian fish sauce and bouillon are concentrated. You can always add more at the table.
  • Store soup and toppings separately. Soup refrigerates up to 3 days (noodles will absorb broth—add more when reheating). Crispy noodles store at room temperature up to 2 days.
  • Reheat soup gently on stovetop, adding a splash of broth or water to thin.

Nutrition

Calories: 674kcal | Carbohydrates: 76g | Protein: 22g | Fat: 34g | Saturated Fat: 15g | Polyunsaturated Fat: 6g | Monounsaturated Fat: 11g | Trans Fat: 0.1g | Cholesterol: 71mg | Sodium: 768mg | Potassium: 740mg | Fiber: 5g | Sugar: 7g | Vitamin A: 562IU | Vitamin C: 61mg | Calcium: 98mg | Iron: 6mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Like this? Leave a comment below!

I'm the recipe developer, photographer and brain behind Urban Farmie. I’m a lifelong vegetarian. I’ve lived, worked, and traveled to 60+ countries and bring you authentic, vegetarian recipes from all those travels!

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.