Creamy Vegan Saag Paneer (With Tofu) Recipe

A metal dish filled with vegan saag paneer made with tofu

Serious Eats / J. Kenji López-Alt

Why It Works

  • Marinating the tofu with lemon juice and miso gives it a tart, umami-heavy flavor that mimics the flavor of fresh paneer cheese.
  • Using a mix of spinach and heartier, more flavorful greens, like arugula or mustard greens, packs in extra flavor.
  • Cauliflower, simmered in nut milk and puréed into a creamy sauce, adds ample body and richness to the spinach, without help from any dairy.

The wonderful thing about saag paneer—the Indian staple of greens and fresh cheese in a creamy sauce—is that, in my experience, it's almost universally loved by vegetarians and meat-eaters alike. But what if we wanted to make a completely dairy-free version, so that vegetarians, meat-eaters, and vegans can all enjoy a meal together? This recipe recruits the power of cauliflower, a variety of greens, and marinated tofu to do just that.

Recipe Facts



Active: 40 mins
Total: 60 mins
Serves: 4 to 6 servings

Rate & Comment


  • 12 ounces (350g) extra-firm tofu

  • 1 tablespoon (15g) yellow miso paste

  • 3 tablespoons (45ml) lemon juice, divided, plus 1 tablespoon (5g) zest, from 2 to 3 lemons

  • 3 tablespoons (45ml) vegetable oil, divided

  • Kosher salt and freshly ground black pepper

  • 6 ounces almond, soy, rice, or cashew milk (2/3 cup; 170ml)

  • 6 ounces cauliflower florets or peeled sunchokes (170g; about 1/3 of a small head of cauliflower)

  • 4 medium cloves garlic (about 20g), finely minced

  • 1 (1-inch) knob ginger (about 20g), peeled and finely minced

  • 1 to 4 green or red Thai chiles (depending on your heat preference), stemmed and finely minced

  • 1 teaspoon ground coriander seeds

  • 1 teaspoon ground cumin seeds

  • 1 teaspoon ground turmeric

  • 1 cardamom pod, smashed

  • 8 ounces (225g) mature spinach, curly if available (see note)

  • 8 ounces (225g) arugula or mustard greens, tough mustard green stems removed and discarded (see note)


  1. For the Tofu "Paneer": Adjust oven rack to center position and preheat oven to 375°F (190°C). Press tofu firmly between paper towels to remove excess moisture. Cut into 1 1/2–inch cubes and set aside. In a medium bowl, whisk together miso paste, 2 tablespoons (30ml) lemon juice, lemon zest, and 1 tablespoon (15ml) oil. Season generously with salt and pepper. Add tofu and toss to coat. Spread tofu evenly over a foil-lined rimmed baking sheet. Place in oven and bake until golden brown, about 20 minutes. Sauce may darken a little against the foil; this is fine. Set tofu aside.

  2. Meanwhile, for the Cauliflower Purée: Combine nut milk and cauliflower in a small saucepan. Season with salt and bring to a simmer. Cook until cauliflower is tender, about 10 minutes. Purée mixture using a hand blender or countertop blender. Set aside.

  3. For the Spinach: Heat remaining 2 tablespoons (30ml) vegetable oil in a large saucepan or saucier over medium heat until shimmering. Add garlic, ginger, and chilies and cook, stirring, until fragrant and lightly browned, about 1 minute. Add coriander, cumin, turmeric, and cardamom pod and cook, stirring, until fragrant, about 30 seconds. Add spinach and arugula or mustard greens one handful at a time, stirring and adding more as the greens wilt (see note).

  4. Reduce heat to low and cook, stirring occasionally, until greens are fully wilted, about 5 minutes. Stir in cauliflower purée and continue to cook until greens are very tender, about 5 minutes longer. Stir in tofu cubes and heat through. Stir in remaining lemon juice, season with salt, adjust consistency with a little water if necessary, and serve.

Special equipment

Countertop blender or immersion blender, rimmed baking sheet


Mature curly spinach works best for this dish, as it has a more robust flavor and more tender texture when braised. Flat-leaf spinach will do. Avoid baby spinach, which turns mushy when cooked. If you can't find mature fresh spinach, you can also use frozen spinach: Defrost and drain it well, then add it all at once in step 3, rather than a handful at a time. If you prefer, you can use 100% spinach instead of a combination of spinach and arugula or mustard greens.

This Recipe Appears In

Nutrition Facts (per serving)
160 Calories
11g Fat
9g Carbs
9g Protein
Show Full Nutrition Label Hide Full Nutrition Label
Nutrition Facts
Servings: 4 to 6
Amount per serving
Calories 160
% Daily Value*
Total Fat 11g 14%
Saturated Fat 1g 6%
Cholesterol 0mg 0%
Sodium 353mg 15%
Total Carbohydrate 9g 3%
Dietary Fiber 3g 12%
Total Sugars 3g
Protein 9g
Vitamin C 32mg 159%
Calcium 285mg 22%
Iron 4mg 20%
Potassium 537mg 11%
*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.)