My tofu satay uses a coconut milk marinade and a coconut milk baste applied directly to a screaming-hot grill pan — that baste caramelizes on contact and creates the golden crust that most recipes miss entirely. The peanut sauce is built from red curry paste and ground roasted peanuts, not just peanut butter. Vegetarian, dairy-free, and needs just 40 minutes of active cook time.

An overhead image of authentic tofu satay on a grill pan with peanut sauce on the side.
Save this recipe!
Enter your email below & we’ll send it straight to your inbox. Plus you’ll get great new recipes from us every week!

The coconut milk baste I learned in a Thai cooking class

Shruthi's face

I took a cooking class in Thailand and it totally changed how I make tofu satay. Instead of just marinating the tofu and cooking it dry, I brush coconut milk directly onto the surface while it’s on a hot grill pan. The fat caramelizes on contact and builds a crust that no amount of marinating can replicate.

I use the same instructor’s methods in my Thai green curry and Thai red curry as well as my vegetarian Khao Soi.

The peanut sauce is also different from most versions. You cook red curry paste in coconut milk first — the same coconut bloom technique — then add ground roasted peanuts, tamarind, and coconut sugar.

The result has real depth and a slightly coarser texture than peanut-butter-based sauces. If you want the smoother version, natural peanut butter works as a shortcut and is genuinely good.

"Toodles, Shruthi" as a signature

Key ingredients and why they matter

An overhead image of the ingredients of authentic tofu satay.

Full ingredient list and detailed instructions in the recipe card.

  • Extra-firm tofu, pressed — two blocks, cut into 1-inch cubes. Press at least 20 minutes and pat completely dry. For deeper marinade absorption, freeze the block overnight, thaw completely, then press — you can see the color difference before it hits the pan.
  • Coconut milk appears three times — in the marinade, the peanut sauce, and as a baste. Full-fat throughout; the fat content is what caramelizes on the grill surface.
  • Curry powder and turmeric in the marinade give the tofu its golden color and warm spice base. Turmeric stains — use a bowl you don’t mind coloring.
  • Vegetarian fish sauce adds fermented depth to both the marinade and the sauce. Substitute 1 teaspoon low-sodium soy sauce plus ½ teaspoon fresh lime juice if unavailable.
  • Red curry paste is the base of the peanut sauce — cooked in coconut milk first until fragrant. Aroy-D is a good vegetarian-friendly brand; always check the label since many red curry pastes contain shrimp paste.
  • Roasted peanuts, finely ground give a coarser, more textured sauce. Natural peanut butter produces a smoother version — both work, different results.
  • Tamarind paste provides the sourness in the peanut sauce. Brands vary significantly in concentration — start with 2 tablespoons and adjust. You can also use it in many of my Indian recipes, including my authentic chana masala.

Shruthi’s Top Tips

What makes the crust and what can go wrong

  • The coconut milk baste is what creates the crust. Brush generously onto both sides as the tofu cooks. It caramelizes on the hot surface — this is the technique, not just the marinade.
  • Don’t move the skewers for 3–4 minutes. Lifting too early tears the crust off before it forms.
  • The peanut sauce thickens as it cools. Thin with a splash of coconut milk, not water — water dilutes the flavor.
  • Tamarind paste varies by brand. Taste before serving and adjust — more tamarind for sourness, more coconut sugar to balance.
  • Broiler method works too — just watch carefully after the flip. The second side browns faster.

How to make Thai tofu satay

  1. Press and marinate the tofu. Press both blocks at least 20 minutes, pat completely dry, cut into 1-inch cubes. Whisk marinade ingredients, add tofu, toss gently. Marinate at least 20 minutes, or overnight in the fridge.
  2. Make the peanut sauce. Simmer ¼ cup coconut milk, add red curry paste, stir constantly 2 minutes until fragrant and thick. Add remaining coconut milk, ground peanuts, tamarind, coconut sugar, fish sauce, and turmeric. Simmer 3–5 minutes until it coats the back of a spoon. Taste and adjust.
  3. Skewer. Thread 3–4 cubes onto each soaked skewer, pressing gently. Leave a little space between cubes.
  4. Cook. Heat grill pan over medium-high until very hot, lightly oil. Place skewers, brush tops with coconut milk. Cook 3–4 minutes without moving until golden. Flip, brush second side, cook another 3–4 minutes until charred at edges. Broiler: high heat, foil-lined sheet, 4–5 minutes per side, brush with coconut milk before each side.
  5. Serve with peanut sauce for dipping.
An overhead image of the tofu cubes marinated in a bowl.
An overhead image of the peanut sauce in a saucepan.
An overhead image of brushing the skewers with neutral oil and placing over grill pan.
An overhead image of flipping the skewers to the other side on a grill pan.
A close up image of dipping the satay to the peanut sauce.

How to serve tofu satay with peanut sauce

Serve with jasmine rice to turn it into a main, just double the skewers and drizzle extra peanut sauce over the rice. Pair it with Thai green curry for a full spread, and finish with fresh Thai basil or cilantro plus lime wedges on the side.

An overhead image of authentic tofu satay on a grill pan with peanut sauce on the side.

Variations

  • Massaman upgrade: Swap red curry paste for massaman curry paste in the sauce creating something deeper, warmer, and more complex.
  • Peanut butter shortcut: ¼ cup natural peanut butter instead of ground peanuts — smoother sauce, no grinding required.
  • Freeze-first method: Freeze tofu in its package overnight, thaw completely, then press and marinate for deeper color and flavor. Standard pressing works perfectly for weeknights; the freeze method is the overnight upgrade.
  • Make it a main: Double the skewers, serve over jasmine rice with sauce drizzled over.

Storage and reheating suggestions

Leftover peanut sauce keeps refrigerated up to 5 days — thin with coconut milk when reheating. Cooked tofu skewers keep up to 3 days; re-crisp in a hot grill pan or under the broiler for 2–3 minutes. Microwave softens the crust.

No ratings yet

Authentic Tofu Satay with Peanut Sauce

My tofu satay uses a coconut milk marinade and baste I learned in Thailand creating a caramelized crust. Peanut sauce from scratch, 40 min.
Prep Time: 25 minutes
Cook Time: 15 minutes
Total Time: 40 minutes
Servings: 4 servings
Save this recipe!
Enter your email below & we’ll send it straight to your inbox. Plus you’ll get great new recipes from us every week!

Equipment

  • Grill pan or oven broiler
  • 16 small bamboo skewers soaked in water for 30 minutes

Ingredients 

For the tofu:

  • 2 14-oz blocks extra-firm tofu, pressed
  • ¼ cup full-fat coconut milk, for basting

For the marinade:

  • 3 tablespoons full-fat coconut milk
  • teaspoons vegetarian fish sauce
  • ½ teaspoon coconut sugar
  • 1 teaspoon curry powder
  • ½ teaspoon ground turmeric
  • ¼ teaspoon black pepper
  • 1 vegetable bouillon cube, crumbled (optional but recommended)

For the peanut sauce:

  • 2 tablespoons red curry paste
  • cups full-fat coconut milk, divided
  • ½ cup roasted peanuts, finely ground, sub ¼ cup natural peanut butter
  • 2 tablespoons tamarind paste
  • tablespoons coconut sugar
  • teaspoons vegetarian fish sauce
  • ¼ teaspoon ground turmeric
  • 2 tablespoons toasted sesame seeds, optional

Instructions 

Press and marinate the tofu:

  • Press both tofu blocks for at least 20 minutes — wrap in clean kitchen towels and place something heavy on top. The drier the tofu, the better it absorbs the marinade and the crispier it gets on the grill. Pat completely dry with paper towels after pressing.
  • Cut each block into 1-inch cubes — you should get about 20–24 cubes per block.
  • In a large bowl, whisk together all marinade ingredients until smooth. Add tofu cubes and toss gently to coat. Marinate for at least 20 minutes at room temperature, or cover and refrigerate overnight. The longer it sits, the deeper the flavor.

Make the peanut sauce:

  • In a small saucepan over medium heat, add ¼ cup of the coconut milk. When it begins to simmer, add the red curry paste and stir constantly for 2 minutes until very fragrant and the mixture thickens into a paste-like consistency.
  • Add the remaining 1 cup coconut milk, ground peanuts, tamarind paste, coconut sugar, fish sauce, and turmeric. Stir to combine and bring to a gentle simmer. Cook for 3–5 minutes, stirring frequently to prevent scorching, until the sauce thickens to a dipping consistency — it should coat the back of a spoon. Add toasted sesame seeds if using.
  • Taste and adjust — more tamarind for sourness, more coconut sugar for balance, more fish sauce for salt. Remove from heat and set aside. The sauce will thicken further as it cools; thin with a splash of coconut milk if needed.

Skewer the tofu:

  • Thread 3–4 tofu cubes onto each soaked bamboo skewer, pressing gently so they sit snugly. Leave a little space between cubes for even cooking.

Grill pan method:

  • Heat a grill pan over medium-high heat until very hot. Lightly brush with neutral oil.
  • Place skewers on the grill pan. Brush the top side generously with coconut milk. Cook for 3–4 minutes without moving until grill marks form and the tofu is golden on the bottom.
  • Flip skewers and brush the second side with coconut milk. Cook another 3–4 minutes until golden and slightly charred at the edges. The coconut milk baste caramelizes on the surface — this is the flavor.

Oven broiler method:

  • Preheat broiler to high. Line a baking sheet with foil and lightly oil it.
  • Arrange skewers on the prepared baking sheet. Brush generously with coconut milk. Broil 4–5 inches from the heat for 4–5 minutes until golden and starting to char at the edges.
  • Flip, brush the second side with coconut milk, and broil another 3–4 minutes. Watch carefully — broilers vary and tofu can go from golden to burnt quickly.

Serve:

  • Arrange skewers on a platter. Serve immediately with the peanut sauce for dipping.

Notes

  • Soaking bamboo skewers in water for at least 30 minutes prevents them from scorching under the broiler or on the grill pan. 
  • For maximum marinade absorption, freeze the tofu block in its package the night before, thaw completely, then press and proceed. Frozen-then-thawed tofu has a spongier, more porous texture that soaks up the marinade significantly better.
  • Substitutions: 
    • Ground peanuts give a more authentic, slightly textured sauce. Peanut butter produces a smoother, creamier version.
    • Tamarind paste varies by brand — some are more concentrated than others. Start with 2 tablespoons and add more if the sauce needs more sourness.
    • Aroy-D red curry paste is the most widely available vegan-friendly brand. Always check the label — many red curry pastes contain shrimp paste.
    • Vegetarian fish sauce can be substituted with 1 teaspoon low-sodium soy sauce + ½ teaspoon fresh lime juice.
  • Peanut sauce keeps refrigerated up to 5 days — thin with coconut milk when reheating. Cooked tofu skewers keep up to 3 days; re-crisp in a hot grill pan or under the broiler for 2–3 minutes.

Nutrition

Calories: 480kcal | Carbohydrates: 22g | Protein: 23g | Fat: 36g | Saturated Fat: 21g | Polyunsaturated Fat: 6g | Monounsaturated Fat: 7g | Sodium: 753mg | Potassium: 759mg | Fiber: 3g | Sugar: 9g | Vitamin A: 1190IU | Vitamin C: 2mg | Calcium: 158mg | Iron: 7mg

Nutrition information is automatically calculated, so should only be used as an approximation.

Like this? Leave a comment below!

I'm the recipe developer, photographer and brain behind Urban Farmie. I’m a lifelong vegetarian. I’ve lived, worked, and traveled to 60+ countries and bring you authentic, vegetarian recipes from all those travels!

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating




This site uses Akismet to reduce spam. Learn how your comment data is processed.