Vegan Tofu Satay Skewers with Creamy Peanut Sauce

Usually made with marinated chicken, beef or pork, satay skewers can easily be transformed into a delicious plant-based dish. By keeping traditional Thai flavours in the marinade and swapping tofu for animal protein, you get simple, weeknight-friendly skewers that pack plenty of taste.

Tofu acts like a sponge and soaks up marinade beautifully, so the longer it marinates the better. For convenience, these skewers are baked in the oven rather than grilled, which frees you to prepare a quick Thai-style peanut sauce while they cook.

Tofu Skewers with Peanut Sauce
Tofu Skewers with Peanut Sauce

How to Make Vegan Satay Skewers

Begin by prepping firm tofu—this recipe works best with firm or extra-firm varieties. Pat the block dry with paper towels, or press it briefly under a heavy book to remove excess water. Pressing isn’t always necessary if you’re using very firm tofu.

Ingredients for this recipe
Ingredients for this recipe

Cut the tofu into 2–3 cm cubes and place them in a zip-top bag. In a small bowl, combine full-fat coconut milk (don’t use light coconut milk—most flavour comes from the fat), soy sauce, tamarind paste for acidity, palm sugar (or brown sugar) for sweetness, and ground spices: coriander, cumin, turmeric and a pinch of cinnamon. Whisk until smooth.

Making the marinade
Making the marinade

Pour the marinade over the tofu in the bag, seal it, and gently massage so every cube is coated. Let the tofu marinate at room temperature for at least one hour, or refrigerate for up to 24 hours for a deeper flavour. If you have leftover coconut milk, freeze it or use it in another recipe.

Adding the marinade to the tofu
Adding the marinade to the tofu

This marinade can be prepared the day before for an easy evening meal: simply marinate in the fridge and bake when you’re ready. When it’s time to cook, thread the tofu cubes evenly onto short skewers and arrange them on a parchment-lined baking sheet. Bake in a preheated oven at 200°C / 400°F until the edges are golden and slightly crisp, about 15–20 minutes.

Baking the tofu skewers
Baking the tofu skewers

While the skewers bake, make the peanut sauce. You can use a store-bought shortcut if you prefer, but a homemade sauce is quick and rewarding. Start by finely grinding unsalted peanuts to a coarse texture using a food processor, mortar and pestle, or by crushing them in a bag with a rolling pin.

Grinding the peanuts
Grinding the peanuts

Place 2 tablespoons of coconut milk in a small saucepan over medium-high heat and bring to a vigorous simmer, stirring occasionally. Continue until the fat begins to separate, then add a tablespoon of Thai red curry paste and cook 1–2 minutes until fragrant. Note: some red curry pastes include shrimp paste, so choose a vegan paste if you need the sauce to be fully plant-based.

Adding the curry paste
Adding the curry paste

Stir in the remaining coconut milk, the ground peanuts, tamarind paste and palm sugar (or brown sugar). Bring to a simmer and cook until the sauce thickens to a spreadable consistency, about five minutes. Taste and adjust seasoning with a little soy sauce if needed. Transfer the sauce to a serving dish.

Once the tofu skewers are golden, serve them immediately with the warm peanut sauce on the side.

Cooked peanut sauce
Cooked peanut sauce
Tofu Satay Skewers

Vegan Tofu Satay Skewers

All the flavours of Thai restaurant satay, made plant-based. Marinate the tofu up to 24 hours in advance. Serve as an appetizer for four or a main for two.
Servings 4
Prep Time 5 mins
Additional Time 1 hr
Total Time 1 hr 30 mins

Ingredients

Tofu Satay

  • 300 g (10½ oz) firm tofu
  • 120 ml (½ cup) full-fat coconut milk
  • 2 tbsp soy sauce
  • 1 tbsp tamarind paste
  • 10 g (2 tsp) palm sugar (or brown sugar), finely chopped
  • 1 tsp ground coriander
  • ½ tsp ground cumin
  • ½ tsp ground turmeric
  • ¼ tsp ground cinnamon

Peanut Sauce

  • 50 g (⅓ cup) unsalted peanuts
  • 120 ml (½ cup) full-fat coconut milk, divided
  • 1 tbsp Thai red curry paste (ensure vegan if required)
  • 1 tsp tamarind paste
  • 10 g (2 tsp) palm sugar (or brown sugar), finely chopped
  • 1–2 tsp soy sauce, to taste

Instructions

  1. Pat the tofu dry and cut into 2.5 cm (1 in) cubes. Place in a large zip-top bag.
  2. In a bowl whisk together coconut milk, soy sauce, tamarind, palm sugar, coriander, cumin, turmeric and cinnamon until combined.
  3. Pour the marinade into the bag with the tofu, seal and massage so the tofu is fully coated. Marinate at room temperature for at least 1 hour or refrigerate up to 24 hours.
  4. Preheat the oven to 200°C / 400°F. Thread tofu cubes onto short skewers and place on a parchment-lined baking sheet. Bake 15–20 minutes until golden and slightly crisp.
  5. For the peanut sauce, grind the peanuts to a coarse sandy texture and set aside.
  6. Heat 2 tbsp coconut milk in a small saucepan until vigorously simmering and the fat separates. Add red curry paste and cook 1–2 minutes until fragrant.
  7. Stir in the remaining coconut milk, ground peanuts, tamarind and palm sugar. Simmer until thick and spreadable, about 5 minutes. Season with soy sauce to taste and transfer to a serving dish.
  8. Serve the hot tofu satay skewers with the peanut sauce.

Notes

  1. Substitute brown sugar if you don’t have palm sugar.
  2. Check red curry paste labels—some contain shrimp paste. Use a vegan paste if you need the dish to be fully plant-based.
  3. For a quicker peanut sauce alternative, a simple peanut butter-based sauce can work, but check ingredients if you require vegan or vegetarian options.

Nutrition

Calories: 292 kcal | Carbohydrates: 15 g | Protein: 12 g | Fat: 22 g | Saturated Fat: 12 g | Sodium: 357 mg

Disclaimer: Nutritional information is automatically generated and provided as guidance only. Accuracy is not guaranteed.

This vegan version of a Thai restaurant favourite is easy to prepare and full of flavour—perfect for weeknights.

If you’d like a vegan satay variation or have questions about ingredients or substitutions, leave a comment below.

Like It? Pin It!

img 16526335 17