Recipes

Thai Tofu Satay with Peanut Sauce

Golden, Charred Tofu Skewers with a Rich Peanut Sauce

When most people think of satay, they picture chicken or beef sizzling over hot coals. But satay has always been about the marinade, the high heat and that peanut sauce, and none of those need meat. This tofu satay is adapted from our Chicken Satay recipe and stands on its own as a dish: the tofu soaks up a coconut and yellow curry marinade, chars beautifully, and comes with the same rich peanut sauce. It works for the whole table, whether you’re cooking for vegans, vegetarians or anyone who loves bold flavour.

Quick answer: Press extra-firm tofu, cut it into cubes and marinate it in coconut milk, Thai yellow curry paste, turmeric, palm sugar and salt for at least 45 minutes. Thread onto soaked skewers and cook on a hot griddle pan, under the grill or on a barbecue for about 2 minutes per side until golden. Serve with a peanut sauce made from curry paste, coconut milk, soy sauce, tamarind, palm sugar and toasted peanuts.

At a glance

  • Vegan: yes (use tamari for gluten free)

  • Marinate: at least 45 minutes, ideally 2–3 hours or overnight

  • Cook: about 8 minutes on a griddle pan, grill or barbecue

  • Heat: medium (yellow curry paste, 3/5)

Why Tofu Works So Well for Satay

Unlike chicken, tofu is a blank canvas. It soaks up the coconut milk, curry paste, turmeric and palm sugar and carries those flavours right through, giving golden, lightly charred cubes with a caramelised outside and a spiced centre that holds its own against the peanut sauce.

The key is pressing the tofu. The drier the surface, the better it takes on the marinade and the better it chars. Use extra-firm tofu, because softer types won’t hold on a skewer. If yours isn’t pre-pressed, wrap it in a clean tea towel, put something heavy on top and press for 20–30 minutes before cutting.

Where Does Satay Come From?

Satay is widely thought to have started in Indonesia, shaped by centuries of trade across Southeast Asia. In Thailand, it became something of its own, with coconut milk, lemongrass, galangal and curry paste in both the marinade and the sauce. For more on the story, see our Chicken Satay with Peanut Sauce recipe.

Overhead view of tofu, Thai curry paste, coconut milk, peanuts, and spices beside golden grilled Thai curry tofu skewers with peanut sauce

Key Ingredients

  • Mae Jum Thai Yellow Curry Paste: used in both the marinade and the peanut sauce. It’s stone-ground from red chilli, shallots, garlic, lemongrass, galangal, turmeric, kaffir lime rind and white pepper, so it’s warm, fragrant and golden. Red curry paste works too, or Panang for a milder, richer satay.

  • Extra-firm tofu: pressed well so it holds its shape and crisps.

  • Turmeric: gives the tofu its golden colour and an earthy warmth. Use it generously.

  • Full-fat coconut milk: for creaminess in the marinade and the sauce.

  • Tamarind: gives the peanut sauce its tang. Use tamarind juice for a lighter sourness or purée for more depth. If using purée, start small and taste.

  • Palm sugar: balances the sauce and helps the marinade caramelise. Light brown or coconut sugar work too.

  • Peanuts: toast them in a dry pan before crushing for a deeper, nuttier sauce.

How to Make Tofu Satay

The full recipe is in the recipe card below. Here’s how it comes together:

  1. Press and cut the tofu into cubes.

  2. Marinate in coconut milk, yellow curry paste, turmeric, palm sugar and salt for at least 45 minutes.

  3. Make the peanut sauce. Fry the curry paste in a little oil, add the coconut milk, soy sauce, tamarind and palm sugar, blend until smooth, then stir in the crushed peanuts. Keep it warm on a low heat.

  4. Thread 3–4 cubes onto each soaked skewer.

  5. Cook on a hot griddle pan, under the grill or on the barbecue for about 2 minutes per side, until golden with char marks. Serve with the peanut sauce.

Griddle, Grill or Barbecue?

  • Griddle pan (all year round): gives you char lines and caramelisation indoors. Get it really hot first.

  • Oven grill: set the skewers on a rack under a hot grill and turn them every couple of minutes.

  • Barbecue (summer): charcoal adds smokiness; gas gives you more control when cooking for a crowd.

Whichever you choose, don’t move the skewers too early. Leave them for about 2 minutes per side so a crust forms before you turn them.

Tips for the Best Tofu Satay

  • Marinate for longer. Forty-five minutes is the minimum, but 2–3 hours or overnight gives a much deeper flavour.

  • Baste as you cook with any leftover marinade for an extra caramelised layer.

  • Keep the peanut sauce gentle. It thickens as it sits, so loosen it with a splash of water. Don’t let it boil hard, or it may split.

  • Serve straight away, or keep finished skewers warm in a low oven while the rest cook.

  • Cooking for a mixed table? The same marinade works on chicken, so you can make both at once.

What to Serve with Tofu Satay

  • Nam Ajad cucumber relish: sharp and refreshing against the rich sauce. Find it on our Chicken Satay recipe.

  • Jasmine rice: see our rice guide.

  • Lettuce cups or flatbreads: slide the tofu off the skewers and use the peanut sauce as a dressing.

More vegan Thai recipes: Vegan Thai Massaman Curry · Tofu Panang Curry · Vegan Pineapple Fried Rice

FAQs

Is tofu satay vegan?

Yes. The marinade and peanut sauce use coconut milk, soy sauce and our vegan yellow curry paste, with no fish sauce or shrimp paste. Use tamari if you need it gluten free.

Can I make tofu satay without a barbecue?

Yes. A hot griddle pan or an oven grill works brilliantly all year round.

Can I make the peanut sauce ahead?

Yes. Make it up to 2 days ahead and keep it in the fridge. Warm it gently with a splash of water before serving.

Do I need to soak wooden skewers?

Yes. Soak them in water for about 30 minutes so they don’t burn.

From Jum’s Kitchen

Satay is widely thought to have travelled to Thailand along the old trade routes, and over generations it became something entirely its own: coconut milk and curry paste in the marinade, palm sugar to soften the heat, and a rich peanut sauce alongside. What stayed the same is the principle: bold marinade, high heat, balance. This tofu version follows that tradition, from the golden colour of the turmeric to the slight char at the edges and the creamy coconut soaked right into the tofu.

It’s a lovely dish for a mixed table. When some people eat meat and some don’t, the same marinade and the same peanut sauce work for both, so everyone gets the same depth of flavour without cooking twice. Press your tofu properly, toast your peanuts and let the heat do the rest, whether that’s a griddle pan on a winter evening or the barbecue in summer. The work is done before anyone arrives.

Thai Tofu Satay with Peanut Sauce

Course
Main
Cuisine
Thai
Season / Occasion
BBQ
Entertaining / Dinner Party
Calories
108.3
Thai tofu satay skewers on a white plate with peanut sauce and Mae Jum yellow curry paste in a saucer
Serves 4
Prep
15 min
Cook
45 min
Total
1 hr
Difficulty
Medium
Cooking times shown are for the base recipe — allow extra time when making larger quantities
Tofu absorbs the coconut and curry deeply, chars beautifully on the grill, and carries the same bold satay flavours as any meat version. A genuine dish in its own right, not a compromise.
Ingredients
  • 500 g Extra-Firm Tofu
  • 200 ml Coconut Milk
  • 1 tsp Mae Jum Yellow Thai Curry Paste
  • 1 tbsp Palm Sugar
  • 1 tsp Turmeric Powder
  • — Bamboo Skewers
  • — Salt
Method
Press the tofu for at least 20 minutes before cooking. Wrap in a clean cloth or kitchen paper and place a heavy pan on top. Once pressed, cut into evenly sized medium cubes so they cook at the same rate.
Toast the peanuts in a dry saucepan over medium heat, stirring regularly, until golden and fragrant. Watch them closely as they can catch quickly. Once toasted, crush using a food processor or pestle and mortar into small crumbs with some variation in size. Set aside.
If using bamboo skewers, soak in cold water for at least 30 minutes before threading the tofu. This prevents them from scorching on the grill pan during cooking
Pour the coconut milk into a large bowl and add the yellow curry paste, turmeric, palm sugar, and salt. Stir thoroughly until completely smooth and an even golden colour throughout.
Add the tofu cubes to the marinade and stir gently to coat every piece. Cover and set aside for at least 45 minutes, stirring once or twice. Longer is better, up to 2 hours if you have the time.
While the tofu marinates, make the peanut sauce. Heat coconut oil in a saucepan, add the curry paste, and fry for 2 minutes until fragrant. Add coconut milk, soya sauce, tamarind, and palm sugar. Bring to a light boil, then blend until smooth. Stir in the crushed peanuts and simmer gently until ready to serve.
Thread 3 to 4 tofu cubes onto each soaked skewer. Leave a small gap between pieces so heat reaches all sides evenly.
Heat a grill pan over high heat. Cook skewers for at least 2 minutes on each side, turning carefully, until golden with light char marks. Repeat in batches until all are done.
Serve immediately alongside the peanut sauce and sticky rice.
Nutrition per serving
108.3kcal
Calories
6.1g
Fat
7.0g
Carbs
6.9g
Protein
1.5g
Fibre
858.8mg
Sodium
Used in this recipe
Previous
Salmon Thai Red Curry with Baby Corn and Sugar Snaps
Next
Sea Bream Thai Yellow Curry

1 comment

  • Wendy
    Jul 09, 2026 at 15:19

    I. Can not see how much tamarind and recipe says turmeric but not in ingredients
    Is this an error ???

    Reply

Leave a Comment

Your email address will not be published.