Spicy Stir-Fried Tofu with Coconut Rice From 'The New Vegetarian Cooking for Everyone'

Kate Williams

I have many friends who are vegetarian and vegan, and tofu (as well as its related soy products) plays a big part in their diet. I myself eat cubes of the stuff a few times a month, and have grown from having a begrudging acceptance of it to a true appreciation of its subtle flavor. I most often sear cubes of extra-firm in vegetable oil before adding it to stir-fries; though efficient, it's not always the most exciting preparation.

In The New Vegetarian Cooking for Everyone, Deborah Madison adds far more flair to her tofu dishes. This particular stir-fry employs a sweet and hot blend of spices to add interest to the seared tofu, as well as a rich and brilliantly yellow pot of coconut rice on which to serve it. A generous squeeze of lime juice is crucial, adding zippy brightness and moisture to each bite.

Why I picked this recipe: I needed to re-boot my tofu repertoire.

What worked: The spiced tofu was great, but the big winner here is the coconut rice. Don't skip it.

What didn't: You'll want to stir-fry the tofu on a lower heat than you'd usually use for a stir-fry to prevent the sugar from burning. Shoot for somewhere between medium and medium-high.

Suggested tweaks: Sliced yellow onions work in place of scallions if that's what you've got at home. If your family is full of big tofu-eaters, you'll want to double what the recipe calls for. Cook it in two batches to avoid crowding the skillet or wok.

Reprinted with permission from The New Vegetarian Cooking for Everyone by Deborah Madison. Copyright 2014. Published by Ten Speed Press, a division of Random House. All rights reserved. Available wherever books are sold.

Recipe Details

Spicy Stir-Fried Tofu with Coconut Rice From 'The New Vegetarian Cooking for Everyone'

Active 30 mins
Total 75 mins
Serves 6 servings



  • 1 3/4 cups basmati rice

  • 4 teaspoons roasted peanut or coconut oil

  • 1 small onion, finely diced

  • 1 tablespoon minced ginger

  • 1 garlic clove, minced

  • 1/4 teaspoon turmeric

  • 1/2 teaspoon sea salt

  • 1 (15-ounce) can coconut milk

  • 3 makrut lime leaves, or 1/2 teaspoon lime zest


  • 1 package firm or extra-firm tofu

  • 1 tablespoon ground coriander

  • 1 tablespoon ground cumin

  • 1/2 teaspoon paprika

  • 1/4 teaspoon cayenne

  • 1 teaspoon sea salt

  • 2 teaspoons sugar

  • 2 tablespoons peanut oil

  • 4 scallions, including half of the greens, coarsely chopped

  • 2 tablespoons fresh lime juice

  • 1/2 cup cilantro, chopped, for garnish


  1. For the rice: Gently wash the rice in a bowl, soak for 30 minutes, then drain.

  2. Warm the oil in a 3-quart saucepan with the onion, ginger, garlic, and turmeric. Cook over medium-low heat for 8 minutes, then add the rice and 1/2 teaspoon salt. Stir to coat the grains, then add the coconut milk, 2 cups water, and the lime leaves. Bring to a boil, turn the heat to low, cover, and cook until the rice is done, 15 to 18 minutes, stirring twice during cooking.

  3. Turn off the heat and set it aside while you prepare the tofu. It will look a little wet at first, but the liquid will be absorbed by the time you’re ready.

  4. For the tofu: Drain the tofu, then cut it into 1/2-inch cubes. Combine the spices, 1 teaspoon salt, and the sugar in a bowl, add the tofu, and toss gently with a rubber spatula.

  5. Heat the oil in a wok or skillet, add the tofu, and stir-fry until crispy and golden, about 5 to 7 minutes. Add the scallions and cook just until they’re wilted, then add the lime juice. Serve the tofu on the rice, garnished with the cilantro.

Nutrition Facts (per serving)
360 Calories
27g Fat
23g Carbs
11g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 6
Amount per serving
Calories 360
% Daily Value*
Total Fat 27g 35%
Saturated Fat 17g 87%
Cholesterol 0mg 0%
Sodium 547mg 24%
Total Carbohydrate 23g 8%
Dietary Fiber 2g 8%
Total Sugars 3g
Protein 11g
Vitamin C 6mg 31%
Calcium 264mg 20%
Iron 6mg 33%
Potassium 405mg 9%
*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.)