Vegan Thai Tofu Satay

Easy vegan coconut satay recipe

The Spruce

Prep: 20 mins
Cook: 15 mins
Total: 35 mins
Servings: 2 to 4 servings
Nutrition Facts (per serving)
403 Calories
19g Fat
48g Carbs
16g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 2 to 4
Amount per serving
Calories 403
% Daily Value*
Total Fat 19g 24%
Saturated Fat 2g 10%
Cholesterol 0mg 0%
Sodium 1283mg 56%
Total Carbohydrate 48g 18%
Dietary Fiber 4g 16%
Protein 16g
Calcium 441mg 34%
*The % Daily Value (DV) tells you how much a nutrient in a food serving contributes to a daily diet. 2,000 calories a day is used for general nutrition advice.
(Nutrition information is calculated using an ingredient database and should be considered an estimate.)

Try this Thai Tofu Satay for a vegetarian/vegan main course dish that's incredibly flavorful and nutritionally complete. The recipe for the satay marinade for this dish goes back generations, all the way back to Thailand and northern Malaysia, and it's as delicious as it is authentic. Be sure to pair it with Real Peanut Satay Sauce—it's easy to make and adds the finishing touch to this great vegan dish.

Tip: This satay can be grilled or cooked in your oven—see oven instructions below recipe.


  • 1/2 to 1 package firm tofu (approximately 12 ounces)
  • 1 red bell pepper
  • 1/2 purple onion or yellow cooking onion (sliced into wedges for skewering)
  • 2 tablespoons sesame seeds (optional)
  • 1/4 cup minced lemongrass, fresh or frozen
  • 2 shallots or 1/4 cup purple onion (sliced)
  • 3 to 4 cloves garlic
  • 1 to 2 fresh red chilies, or 1/2 to 3/4 teaspoon cayenne pepper
  • 1 thumb-sized piece galangal or ginger (sliced)
  • 1/2 teaspoon turmeric
  • 2 tablespoons ground coriander
  • 2 teaspoons ground cumin
  • 2 tablespoons dark soy sauce
  • 3 tablespoons regular soy sauce
  • 6 tablespoons brown sugar
  • 3 tablespoons vegetable oil
  • Salt to taste

Steps to Make It

  1. Slice tofu into thick cubes or long pieces. Place in a mixing bowl and set aside.

  2. Place all marinade ingredients (lemongrass, shallots/onion, garlic, chilies, ginger/galangal, turmeric, coriander, cumin, soy sauces, brown sugar, oil, and salt) in a food processor or blender and blitz.​

  3. Taste-test the marinade for salt, spice, and sweetness. Note: with this marinade, you should first taste salty, followed by sweet and spicy. Add a little salt if needed or more sugar if not sweet enough. Add more chili for more heat, if desired.

  4. Pour marinade over the tofu, turning tofu to cover all sides. Add the bell pepper pieces and onion wedges and gently turn in the marinade together with the tofu. Set in the refrigerator to marinate at least 1 hour or cover and leave to marinate up to 24 hours.

  5. Thread the tofu, bell pepper, and onion onto wooden or stainless-steel skewers (soak wooden ones in your sink 10 minutes beforehand to prevent burning). Retain the bowl with the leftover marinade for basting.

  6. Lightly brush grill with oil, then set skewers over the fire. Grill until tofu and vegetables are lightly browned. As you grill, baste with leftover marinade. If desired, sprinkle some sesame seeds over each satay stick after basting.

  7. Serve with Easy Satay Peanut Sauce and plain rice, coconut rice, or sticky rice.

Making This Dish In the Oven

Be sure to soak wooden satay sticks at least 10 minutes before using this method. Lay prepared satay on a baking sheet (cover first with parchment paper, if desired). Set oven to BROIL, and place a rack on the highest or second-highest rung of your oven. Slide tofu under the broiler and broil 5 minutes per side or until tofu is nicely browned and vegetables are lightly charred. Baste halfway through cooking with leftover marinade and sprinkle over the sesame seeds just before serving.

Recipe Tags: