Gaeng Massaman Tofu (Vegan Massaman Curry)
Why this recipe works
- Rounded curry flavour: Massaman paste, coconut milk, tamarind and sugar create a sauce with savoury depth, gentle sweetness and a mild tang.
- Creamy, full-bodied sauce: Potatoes and peanuts add substance to the coconut base, giving the curry a satisfying texture without dairy.
- Good for planned cooking: The curry keeps well and reheats gently, making it useful for batch cooking or preparing ahead of dinner.
Get the most out of this recipe
Ingredient notes
- Check the curry paste: Choose a vegan Massaman curry paste, as some versions contain shrimp paste or fish sauce.
- Balance the tamarind: Tamarind should brighten the sauce rather than dominate it; adjust gradually after the tofu has simmered.
- Dry the tofu first: Patting the tofu dry helps it hold its shape and keeps the sauce from becoming watery.
Texture tips
- Keep the simmer gentle: A steady, low simmer helps the coconut milk stay smooth and creamy rather than separating.
- Add tofu near the end: Simmering the tofu briefly warms it through while reducing the risk of breaking it up in the pot.
Make-ahead tips
- Store curry and rice apart: Keep the curry separate from the jasmine rice so the rice does not absorb too much sauce in the fridge.
- Reheat gently: Warm the curry over low heat and loosen with a splash of water if the sauce has thickened.
- Freeze without rice: The curry can be frozen after cooking; defrost in the fridge before reheating until piping hot.
Authenticity notes
- Vegan Massaman style: Tofu replaces the usual meat while keeping the curry’s recognisable coconut sauce, potatoes, peanuts and sweet-sour balance.
- Serve with jasmine rice: Fragrant jasmine rice is a natural match for the rich sauce and keeps the meal balanced.
Equipment you'll need
Ingredients
Instructions
- Rinse the jasmine rice until the water runs mostly clear, then add it to a saucepan with the water and a pinch of the fine sea salt. Bring to the boil, cover, then cook on the lowest heat for 12 minutes. Take off the heat and leave covered for 10 minutes, then fluff with a fork.
- While the rice cooks, cut the firm tofu into bite-size cubes. Peel the potatoes and cut into 2 cm chunks. Peel and slice the onion into thin wedges.
- Heat the vegetable oil in a large pot over medium heat, then add the onion with a pinch of fine sea salt and cook for 4 to 5 minutes until softened. Stir in the Massaman curry paste and cook for 1 minute until fragrant. Add a splash of the coconut milk and stir to loosen the paste.
- Add the remaining coconut milk, then tip in the potatoes and 200 ml water. Bring to a gentle simmer, cover, and cook for 12 to 15 minutes until the potatoes are nearly tender. Stir occasionally to prevent sticking.
- Add the tofu and simmer uncovered for 6 to 8 minutes until the tofu is hot through and the sauce has thickened slightly. Stir in the tamarind paste and caster sugar, then taste and adjust with a little more fine sea salt if needed. Stir through most of the roasted peanuts, reserving a small handful for serving.
- Serve the curry over the jasmine rice and scatter over the reserved roasted peanuts. If the sauce thickens too much as it sits, loosen it with a splash of water and warm gently.
Recipe notes
Serving suggestions
This recipe pairs well with:
Tips
- For the best texture, pat the tofu dry before cubing so it holds its shape in the simmering sauce.
- Keep the curry at a gentle simmer rather than a rapid boil so the coconut milk stays creamy and does not split.
- If serving to anyone who is pregnant, elderly, or immunocompromised, ensure the curry is piping hot throughout before serving.
Substitutions
- Replace Yukon Gold potato with sweet potato for a sweeter, softer curry.
- Replace roasted peanuts with cashew nuts for a milder, creamier finish.
- Replace caster sugar with palm sugar for a deeper caramel note.
Storage
- Refrigerate up to 3 days
- Cool the curry quickly, then refrigerate in a sealed container for up to 3 days. Reheat gently in a saucepan over low heat, adding a splash of water to loosen, until piping hot. Freeze the curry (without rice) for up to 2 months; defrost overnight in the fridge before reheating.
Ratings & reviews
Liked this recipe? Share your feedback to support our cooking community.
Tried this recipe?
Choose 1–5 stars. A comment is optional.
Stay inspired
Discover new recipes, seasonal favourites and cooking inspiration every day. Follow JustRecipes on Pinterest and Spillt.
Recipe overview
- Servings: 3 servings
- Total time: 50min (20min active)
- Difficulty: Medium
- Cuisine: Thai
-
Allergens:
Peanuts
Plan your meals and get a complete grocery list automatically.
Add to meal plannerEquipment you'll need
Got ingredients left?
Find recipes using ingredients from this recipe or what you already have at home.
Find recipes with these ingredients →Make this recipe easier next time
AdvertisementThese tools help you get better results with less effort.
Misen 8-Inch Chef Knife
- AUS-10 steel
- Balanced design
- Less traditional feel
Titanium & PP Double-Sided Cutting Board
- Separate surfaces for meat and produce
- Resists odors and stains
- Harder on knife edges than wood or plastic
All-Clad Tri-Ply Stainless Steel Saucepan
- Excellent heat control
- Premium build quality
- Expensive
OXO Good Grips 2-Piece Cutting Board Set
- Two useful sizes with reversible cutting surfaces
- Dishwasher safe and easy to clean
- Plastic surfaces will show knife marks over time
Enjoy cooking with JustRecipes?
Add JustRecipes as one of your preferred Google sources to discover our recipes more easily across Google Search.
Add JustRecipes to GoogleEvery recipe on JustRecipes follows the same structured editorial process. Learn how recipes are created, validated, translated, illustrated, and continuously improved across the platform. How we create recipes.

























