Tofu Satay
Move over, chicken satay. This vegan-friendly tofu satay delivers all the sweet, savoury, tangy flavours you crave, with golden, caramelised tofu with a chicken-like chewy. And that Thai peanut sauce!? The best!

I’m a big Thai food gal, and one of my favourite things to order used to be chicken satay. So, when I decided on a plant-based lifestyle, I had to find a way to recreate it. So I froze, thawed, pressed, and cubed some extra-firm tofu and marinated it in coconut milk, red curry paste, curry powder, ginger, garlic, and onion powder. I threw some lime juice in there to break up the umami, along with a little brown sugar for that classic sweet-and-savoury feel.
Next to my simple Baked Tofu and this Air Fryer Tofu, it’s a top contender for Jessica’s all-time faves on the tofu front. The careful prep gives the tofu a firm, almost chicken-like chew, and the flavours come together beautifully. I love the mix of sweet, sour, and umami you get in every bite. Served with my AMAZING Thai Peanut Sauce, fresh cucumber, lime wedges, and cilantro for freshness, it’s a real winner.
Why This Tofu Satay With Peanut Sauce Is Better Than Takeout
There’s no arguing that take-out is super convenient, but what if I told you you could easily recreate this take-out favourite surprisingly easily at home? Here are a few reasons to consider it:
- Tofu satay can be surprisingly difficult to find in Thai restaurants. Chicken satay? No problem. But not tofu. So, for us vegans and vegetarians, finding a way to make it at home is a treat.
- This recipe does a fabulous job at creating that chewy, almost chicken-like texture and deep, umami, peanut-y flavour you’d expect in the meat-eater’s version of this classic Thai dish.

Notes on Ingredients
Grab your ingredients and get ready for the best tofu satay ever! Here’s what you’ll need (see the recipe card below for precise measurements):
For the skewers
- Extra firm tofu – Definitely stick to firm tofu. Anything softer won’t stand up to skewering and baking. For tips and tricks on prepping and cooking tofu, see my post on How To Cook Tofu + Best Tips on Making the Most Delicious Tofu.
- Neutral oil – I’d pick something with a high smoke point. Refined coconut oil, peanut oil, avocado oil, or safflower oil would work well.
- Soy sauce – Light or dark soy sauce, depending on your preference.
- Full-fat coconut milk – The canned stuff is best for this recipe. It’s creamier and more flavourful. If you’d like to make your own, check out my Homemade Coconut Milk Recipe.
- Red curry paste – Red curry paste adds savoury depth and mild heat to the satay. If you’re sensitive to heat, use a little less. Spice nut? Use more!
- Seasonings and aromatics – Curry powder, finely grated garlic, finely grated fresh ginger, and onion powder.
- Brown sugar – That little bit of sweet balances out the salty, savoury nature of the marinade.
- Lime juice – To brighten things up a bit.
- To serve – Serve this tofu satay with cooked jasmine rice (Instant Pot Jasmine Rice is the way to go), my famous Thai peanut sauce (or a storebought version), sliced cucumber, fresh cilantro, and lime wedges.
How to Make Tofu Satay
Time to prep your tofu and turn it into something special. Here’s a quick look at how to make tofu satay. You’ll find more detailed instructions in the recipe card below.
Get everything ready
- Freeze, thaw, and press the tofu. Freeze the tofu blocks until solid, then thaw in the fridge or at room temperature. Gently press the excess moisture from the tofu (see how it’s done here).
- Soak. Soak bamboo skewers in water for 20-30 minutes (skip this if your skewers are metal).


- Slice. Slice the tofu into large cubes.
- Make the marinade. Whisk together the oil, soy sauce, coconut milk, red curry paste, seasonings, aromatics, brown sugar, and lime juice.


- Marinate. Gently toss the tofu with the marinade, cover, and let it sit for at least 30 minutes.
- Thread. Thread the tofu onto the skewers. Reserve any remaining marinade.
Bake and serve
- Prep. Preheat the oven to 400°F (200°C) and line a baking sheet with parchment paper.


- Brush. Arrange the skewers on the baking sheet and brush with half of the remaining marinade.
- Bake. Bake for 10 minutes, flip, brush with the remaining marinade, and bake for 10 minutes.
- Broil (optional). If you’d like a deeper, more caramelized colour, broil the skewers for 1-2 minutes.
- Serve. Serve the tofu satay hot with jasmine rice, peanut sauce, sliced cucumber, fresh cilantro, and lime wedges.

Pro Tips
These tips and tricks will help you achieve incredible tofu satay every time:
- Freeze and thaw. It might be tempting to skip the freezing and thawing step, but don’t. The process of freezing and thawing gives the tofu a firmer, chewier texture, which helps it absorb the marinade much better.
- Press. It is essential that you press the tofu to remove any excess moisture. This will allow it to absorb the marinade more effectively and yield firmer, chewier tofu. To learn more about the importance of pressing tofu, check out my Top Tips on Making the Most Delicious Tofu.
- Soak. Don’t forget to soak your bamboo skewers. Otherwise, they’ll burn/blacken in the oven. Got metal skewers? Don’t worry about it.
- Hefty cubes. When slicing the tofu, make sure the pieces are large/sturdy enough to thread onto the skewers without breaking. About 1×1-inch (2.5×2.5cm) should do it.
- Marinate thoroughly. Let the tofu marinate for at least 30 minutes. Overnight is even better if you have time, as the flavours will deepen.
- Leave a little space. Leave 1-2 inches between the tofu skewers when you arrange them on the baking sheet. If they’re too close together, they won’t brown properly.
- Brush, brush, brush. Don’t forget to brush the tofu with the remaining marinade just before baking (and about 10 minutes in). This will yield a more flavourful satay and will help keep the tofu from drying out.
- Keep an eye on things. If you choose to broil the tofu satay, turn the oven light on and keep a close eye. Broilers work fast, and you don’t want to burn your tofu.

Serving Suggestions
This tofu satay is phenomenal as a main event (for lunch or dinner) served alongside a bowl of Thai Coconut Curry Soup. It’s also amazing as an app to ready your taste buds for a heartier main, such as my Thai Red Curry or Vegan Pad Thai. If it needs a companion on the app table, bring it out with these Fresh Summer Rolls.
When the savoury portion of the meal is complete, consider finishing things off with this easy, creamy (and vegan!) Mango Ice Cream.
Storing Leftovers
- Refrigerator: Seal any fully cooled leftover satay in an airtight container. It’ll keep in the fridge for up to 4 days.
- Freezer: Once cooled to room temperature, seal any leftovers in a freezer-safe airtight container and store them in the freezer for up to 3 months. Thaw the tofu in the fridge before reheating.
- To reheat: Arrange the leftover tofu satay in a single layer on a baking sheet. Pop it in a 375°F (190°C) oven for 5 minutes or until heated through. You can also microwave a couple of skewers at a time in 30-second intervals until warm.

More Thai-Inspired Recipes
Need more Thai in your life? Check out these other vegan-friendly, Thai-inspired recipes from my kitchen to yours:
Enjoy friends! If you make this tofu satay with peanut sauce, please snap a photo and tag #jessicainthekitchen on Instagram! We’d also love it if you would leave a comment below, and give the recipe a rating! Thanks so much!

Thai Tofu Satay with Peanut Sauce
Ingredients
For the skewers
- 1 block extra firm tofu, 14 ounces, 400g
- 2 tablespoons neutral oil, 30ml
- 2 tablespoons soy sauce, 30ml
- 3 tablespoons full-fat coconut milk, 45ml
- 1 tablespoon red curry paste, 18g
- 1 teaspoon curry powder, 2g
- 3 cloves garlic, finely grated, 9g
- 1 teaspoon fresh ginger, finely grated, 5g
- 1 teaspoon onion powder, 3g
- 1 tablespoon brown sugar, 12g
- 1 tablespoon lime juice, 15ml
For serving
- Cooked jasmine rice, optional
- ½ cup Peanut sauce, 120ml
- 1 small cucumber, sliced, 150g
- ½ cup fresh cilantro, 20g
- 1 lime, cut into wedges
Instructions
Prep
- Freeze and thaw the tofu: Place the tofu block in the freezer until completely frozen. Thaw fully in the refrigerator or at room temperature. Once thawed, gently press out excess moisture using a clean kitchen towel or paper towels.
- Soak the skewers: If using bamboo skewers, soak them in water for at least 20-30 minutes to help prevent burning in the oven.
- Cut the tofu: Slice the tofu into thick strips or large cubes that are sturdy enough to thread onto skewers without breaking.
- Make the marinade: In a large bowl, whisk together the neutral oil, soy sauce, coconut milk, red curry paste, curry powder, garlic, ginger, onion powder, brown sugar, and lime juice until smooth and well combined.
- Marinate the tofu: Add the tofu to the marinade and gently toss to coat all sides. Cover and marinate for at least 30 minutes, or up to overnight in the refrigerator for deeper flavour.
- Thread: Thread the marinated tofu onto the soaked skewers. Reserve any remaining marinade for brushing during baking.
Bake
- Prep: Preheat the oven to 400°F (200°C). Line a baking sheet with parchment paper.
- Transfer skewers to a baking sheet: Arrange the tofu skewers on the baking sheet, leaving a little space between each one so they roast instead of steam. Brush lightly with any remaining marinade.
- Bake: Bake for 10 minutes, carefully flip the skewers, brush again with the remaining marinade. Bake for another 10 minutes until lightly golden around the edges and slightly caramelised.
- Broil (option): For extra colour and charred edges, broil for 1-2 minutes at the end, watching carefully so they do not burn.
- Serve: Serve the tofu satay hot with jasmine rice, peanut sauce, sliced cucumber, fresh cilantro, and lime wedges.
Notes
- Prep the tofu properly. Do NOT skip thawing and freezing the tofu OR pressing it before cubing. These steps will yield a firmer, chewier tofu and will allow it to absorb the marinade better.
- Space matters. Leave 1-2 inches between the tofu skewers so they brown up properly in the oven. If they’re too close together, the tofu will steam, rather than roast.
- Keep an eye on things. If you choose to broil the tofu satay, turn the oven light on and keep a close eye. Broilers work fast, and you don’t want your tofu to burn.
- Storage. Seal any fully cooled leftover skewers in an airtight container and store them in the fridge for up to 4 days (or in the freezer for up to 3 months). Let ’em thaw in the fridge (if applicable) before reheating in the microwave or in the oven at 375°F (190°C) for 5 minutes.
Disclaimer: Although jessicainthekitchen.com attempts to provide accurate nutritional information, kindly note that these are only estimates. Nutritional information may be affected based on the product type, the brand that was purchased, and in other unforeseeable ways. Jessicainthekitchen.com will not be held liable for any loss or damage resulting for your reliance on nutritional information. If you need to follow a specific caloric regimen, please consult your doctor first.

