Spicy peanut tempeh stir-fry, 32g protein vegan dinner in 25 minutes
Crisp seared tempeh tossed in a peanut-soy-lime sauce with broccoli and bell pepper, served over rice. 32g of protein, 530 kcal per bowl, fully vegan.
- 1
Steam the tempeh first. Place the tempeh cubes in a steamer basket over simmering water and steam for 8 minutes. This is the key step most recipes skip. Steaming removes the slight bitterness that raw tempeh carries and makes the cubes absorb the sauce better later.
- 2
While the tempeh steams, whisk the peanut sauce. Combine peanut butter, tamari, rice vinegar, maple syrup, lime juice, sesame oil, sriracha, and 4 tbsp warm water in a bowl. Whisk until smooth. If the sauce is too thick to pour, add another tablespoon of warm water. It should be the consistency of heavy cream.
- 3
Remove the tempeh from the steamer and pat dry with paper towels. Heat the neutral oil in a large non-stick skillet or wok over medium-high heat. Add the tempeh in a single layer.
- 4
Sear the tempeh for 6 to 8 minutes total, turning the cubes once or twice, until all sides have golden-brown crisp edges. Do not stir too often; let each side develop color before flipping. Transfer to a plate when done.
- 5
In the same pan, add a small splash of oil if needed. Add the broccoli, bell pepper, and carrot. Stir-fry over high heat for 3 to 4 minutes, until the broccoli is bright green and just tender but still crisp.
- 6
Add the minced garlic, grated ginger, and white parts of the scallions. Stir-fry for 30 seconds until fragrant. Do not let the garlic burn.
- 7
Return the tempeh to the pan. Pour in about two-thirds of the peanut sauce. Toss everything to coat. Cook for another 60 to 90 seconds so the sauce clings to the tempeh and vegetables. Reserve the remaining sauce for drizzling at the end.
- 8
Divide the cooked rice between 2 bowls. Top with the tempeh stir-fry. Drizzle with the reserved peanut sauce. Garnish with chopped roasted peanuts, sliced scallion greens, cilantro, and a lime wedge on the side.
Tempeh is the most-underused vegan protein in home cooking. People try it once, find it bitter or cardboard-textured, and never come back. The fix is one step almost every recipe online skips: steaming before searing.
This recipe is the tempeh entry the catalog has been missing, and a vegan dinner with real protein density. Each bowl lands at 32g of protein and 530 kcal, with 9g of fiber, completely plant-based.
Why tempeh, not tofu
The catalog already has crispy air fryer tofu rice bowl and vegan tofu pad thai. Tofu is great. Tempeh is different.
The case for tempeh:
- More protein per calorie. Tempeh is about 20g of protein per 100g, vs 8g for firm tofu. The protein-to-calorie ratio is roughly twice as good.
- Higher fiber. Tempeh is whole fermented soybeans pressed into a cake; it retains the bean fiber. Tofu strips this out. A 150g portion of tempeh delivers 5g of fiber.
- Fermented. The Rhizopus fungus that ferments tempeh produces B-vitamins (including B12 in trace amounts) and partially pre-digests the soybeans, which most people find easier on the gut than tofu.
- Holds texture better. Seared tempeh stays crisp longer than seared tofu, especially when sauced. The cubes do not collapse into mush.
- More structural flavor. Tempeh has a nutty, slightly mushroomy character on its own. Tofu is a flavor sponge. For a dish like this where you want some structural taste from the protein, tempeh wins.
The honest case against tempeh: bitter if not prepared correctly. Steaming solves this completely.
The steaming step that changes everything
Raw tempeh carries a slight bitterness from the fermentation process, sometimes described as an ammonia or alcohol note. Some people barely notice it; others find it strong enough to write off tempeh entirely.
Steaming the cubes for 8 minutes in a basket over simmering water:
- Removes the bitterness. The volatile compounds dissipate with the steam.
- Opens the texture. Steamed tempeh has microscopic openings throughout that absorb sauce and seasoning instead of beading it off the surface.
- Cooks the cubes through. Subsequent searing is just for color and crisp edges, not for cooking the protein internally.
The result is tempeh that tastes nutty and mild, sears to crisp golden cubes, and carries the peanut sauce instead of fighting it. This is the move every restaurant tempeh dish uses; almost no home recipe explains it.
Some people swap steaming for boiling (5 minutes in salted water). Same effect. Steaming retains slightly more flavor; boiling is faster if you do not own a steamer basket.
The macros that matter
| Per bowl (1 of 2 servings) | Amount |
|---|---|
| Calories | 530 |
| Protein | 32g |
| Carbs | 52g |
| Fat | 22g |
| Fiber | 9g |
That is 6g of protein per 100 kcal, which is excellent for a fully vegan dinner with this much flavor and richness. The peanut sauce adds fat (peanut butter is calorie-dense) but the tempeh-and-vegetable base pulls the overall density into a reasonable range.
Calorie breakdown:
- Tempeh (150g per bowl): 250 kcal, 30g protein
- Vegetables: 70 kcal, 4g protein
- Rice (150g cooked per bowl): 200 kcal, 4g protein
- Peanut sauce (per bowl): 130 kcal, 4g protein, 9g fat
For a lower-calorie bowl (around 420 kcal), reduce peanut butter in the sauce to 2 tbsp total and reduce rice to 100g cooked. Protein stays at 28g.
The peanut sauce, simplified
A good peanut sauce has five flavor poles:
- Nut richness, from natural peanut butter
- Salt and umami, from tamari or soy sauce
- Sweetness, from maple syrup or brown sugar
- Acid, from rice vinegar and lime juice
- Heat, from sriracha or fresh chili
Balance all five and you have a sauce that works on tempeh, tofu, chicken, noodles, summer rolls, or vegetables. Skip any one of the five and the sauce tastes flat or one-note.
Use natural peanut butter (just peanuts and salt). Skippy or Jif-style peanut butter has added sugar and palm oil that throws off the sweet-salt balance and produces a sauce that tastes like a peanut butter sandwich, not a stir-fry sauce.
The sauce keeps in the fridge for 5 days. Make a double batch and use the extra on rice bowls, noodle salads, or grilled chicken later in the week.
How this differs from the existing vegan dinners
The catalog has coconut chickpea curry (Indian-style, coconut-forward), mediterranean chickpea salad bowl (cold, salad format), lentil soup with spinach (soup), moroccan chickpea vegetable tagine (North African, slow-cooked vibe), one-pot red lentil dal (Indian dal), and vegan tofu pad thai (rice noodles, tamarind).
The peanut tempeh stir-fry is the fast, hot, Asian-stir-fry entry. Different protein (tempeh, not chickpeas, lentils, or tofu), different format (hot pan stir-fry, not curry/soup/noodle), different flavor profile (peanut-lime-soy, not coconut/tahini/tamarind).
It also has the most protein per calorie of the vegan dinner lineup, useful for vegans actively trying to hit a high protein target.
Swaps and add-ons
- Use tofu instead of tempeh. Press 350g of firm tofu, cube, sear hot. Protein drops to about 24g per bowl, but the dish works. The peanut sauce carries it.
- Use chicken if not vegan. 300g of chicken breast cubed and seared in the same pan, then sauced. Protein bumps to about 45g per bowl, fiber drops slightly. Same flavor profile.
- Add edamame for an extra protein boost. 100g of shelled edamame tossed in for the last 2 minutes of stir-frying adds 11g of protein and 4g of fiber.
- Use brown rice or cauliflower rice. Brown rice for more fiber (drops protein/calorie ratio slightly because of cook-water absorption). Cauliflower rice for low-calorie, drops the bowl to about 380 kcal while keeping protein at 30g.
- Add napa cabbage or bok choy. Shred 200g of napa cabbage and stir-fry it in with the broccoli. Adds bulk, crunch, and fiber for almost no calories.
- Make it spicier. Increase sriracha to 1 tbsp in the sauce. Add a sliced Thai chili to the stir-fry. Top with chili crisp at the end.
- Use almond butter or sunflower seed butter if peanut-allergic. Both work in the sauce with the same proportions. The flavor shifts (almond butter is more neutral, sunflower seed butter has a slight bitterness) but the structure holds.
- Add coconut milk for a richer sauce. Replace 2 tbsp of the warm water with full-fat coconut milk. Adds 60 kcal per bowl; produces a creamier, slightly Thai-leaning sauce.
- Serve over noodles instead of rice. Rice noodles or soba both work. Use 80g dry noodles per bowl, cook according to package directions, toss with sauce at the end.
What not to do
- Do not skip the steaming step. This is the recipe-defining move. Without it, the tempeh tastes bitter and the texture is dense and chalky.
- Do not crowd the pan when searing tempeh. Cubes need space to develop a golden crust. Crowded cubes steam each other and stay pale. Two batches if needed.
- Do not use sweetened peanut butter. Skippy and Jif are not the right product here. Look for natural peanut butter with peanuts (and maybe salt) as the only ingredients. The sauce balances around the bitter-and-salty notes that added sugar smothers.
- Do not overcook the broccoli. 3 to 4 minutes max. Mushy broccoli loses the structural crunch that contrasts with the soft sauce and the crisp tempeh. Crisp-tender is the target.
- Do not skip the lime juice. The bright acid is what cuts through the rich peanut fat. Without it, the bowl tastes heavy and one-note. Vinegar alone is not the same; lime adds aroma that vinegar cannot.
- Do not assume tempeh tastes the same fresh and frozen. Frozen tempeh works fine but the steaming time should be extended to 12 minutes to ensure it warms through. Steaming frozen tempeh from frozen is faster than thawing and steaming.
- Do not add the full peanut sauce to the pan at once. Reserve a third of the sauce to drizzle at the end. The reserved sauce stays glossy and fresh-tasting; the pan-coated sauce reduces and caramelizes into a different (also good) flavor. Two textures of sauce in the same bowl is better than one.
Where this fits in a week of meals
This is the "Wednesday weeknight vegan dinner" entry. 25 minutes, one pan, real protein, satisfying enough that nobody at the table asks about meat.
For a balanced week, alternate vegan dinners across the catalog: peanut tempeh on Monday, one-pot red lentil dal on Wednesday, moroccan chickpea vegetable tagine on Friday. Three nights, three protein sources (tempeh, lentils, chickpeas), three flavor profiles. The macros all land in the 25 to 35g protein range.
For lifters and athletes on a plant-based diet, this kind of rotation is what makes hitting a daily protein target practical without leaning on protein shakes every day. The protein per day post covers the math; this is one of the dishes that puts it on the table.
For the broader logic on training-day eating, see the pre-workout meal post and the post-workout protein post. For why fiber matters alongside protein, see how much fiber per day.
