clock clock iconcutlery cutlery iconflag flag iconfolder folder iconinstagram instagram iconpinterest pinterest iconfacebook facebook iconprint print iconsquares squares iconheart heart iconheart solid heart solid icon
Thai coconut soup in a bowl with fresh cilantro, rice, tofu, and a spoon.

Thai Coconut Soup with Tofu and Rice

  • Author: Lindsay
  • Total Time: 1 hour
  • Yield: 5-6 servings 1x


It’s Thai Coconut Soup with Tofu and Rice! A savory coconut creamy broth, swirls of chili oil floating on top, beautiful veg and cubes of flavor-soaked tofu, and a pile of steamy rice at your service.


Units Scale
  • 1 tablespoon oil
  • 5 cloves garlic, minced
  • one 3-inch piece of ginger, peeled and cut into thin slices
  • 3 stalks lemongrass, ends trimmed, outer layer peeled, and cut into bigger chunks
  • 12 tablespoons roasted red chili paste
  • 8 ounces fresh mushrooms, sliced
  • 1 red bell pepper, thinly sliced
  • 1 block of extra firm tofu, pressed and cut into small cubes
  • 56 cups vegetable or chicken broth
  • about 20 ounces full fat coconut milk (I like Aroy-D brand, and I use about 1.5 cans)
  • 3 tablespoons fish sauce (more or less to taste)
  • 3 tablespoons brown sugar
  • juice and zest of 1-2 limes (to taste)
  • salt to taste (about 1 teaspoon)
  • lots of cilantro
  • chili oil for serving
  • rice for serving


  1. Heat the oil in a soup pot over medium heat. Add the garlic, ginger, and lemongrass; sauté for 3-5 minutes (but don’t let the garlic brown – if it starts browning, remove from heat / turn the heat down).
  2. When everything is soft-ish and smells really nice, add the roasted red chili paste and sauté for 1-2 minutes. Add the mushrooms and red pepper (and any other veggies you like). Sauté for 3-5 minutes to get them sweating a bit, and then add the tofu and broth and bring to a simmer. Simmer for 10-15 minutes.
  3. Add coconut milk, fish sauce, brown sugar, lime juice and zest, and salt.  Stir in the cilantro. Taste and adjust till you get it just how you like it. Pull out the lemongrass chunks.
  4. I like to ladle the soup over a shallow bowl filled halfway with rice – so the soup kind of goes on one side and the rice on the other, with the coconuty broth spilling over into the rice a bit. Top it off with extra cilantro and chili oil. SO, SO GOOD.


Some recipes instruct you to keep the ginger in bigger chunks so you can pull it out before serving – but personally I kind of enjoy an occasional bite of thinly-sliced broth-soaked ginger, so I just leave the ginger in!

The lemongrass stalks, especially when in bigger pieces, can be really tough, which is why I’d advise taking those out before serving. You could also use lemongrass paste for a little more convenience so you can just get the flavor without needing to pull out the stalks of lemongrass.

Instant Pot Instructions: Press the Sauté button on the Instant Pot and heat the oil. Then, sauté the garlic, ginger, and lemongrass for 2-3 minutes until soft-ish. Add the roasted red chili paste and sauté for another minute. Then, add in the tofu and 4 cups of broth. Place the lid on the pot and cook on Manual mode (high pressure) for 3 minutes. Quick release the steam using the valve. Stir in the coconut milk, fish sauce, brown sugar, lime juice and zest, and salt. Add in the mushrooms and red pepper. If you feel like it could use more liquid, you can add an additional cup of broth if needed. Press the Sauté button again to simmer the veggies for 5-6 minutes until softened. Pull out the lemongrass chunks and stir in the cilantro.

  • Prep Time: 30 minutes
  • Cook Time: 30 minutes
  • Category: Soup
  • Method: Stovetop
  • Cuisine: Thai-Inspired

Keywords: thai soup, coconut soup, tom kha