Saag Paneer or Saag Tofu

September 26, 2013 at 11:23 am (B plus (3 stars, like a lot), Cook's Illustrated, Dark leafy greens, Derek's faves, Indian, Other, Website / blog)

Derek loves spinach, and he loves Indian food, and he loves rich, decadent food.  Hence, he is always excited about having saag paneer for dinner.  We had a version at a friend’s house last year that used tofu instead of paneer. I asked him for the recipe and he sent me this one from Atul Kochhar’s cookbook “Simple Indian: The Fresh Taste of India’s New Cuisine.”  We’ve made it several times now, sometimes with paneer, sometimes with tofu, and sometimes with a mix. I’ve modified the instructions below based on some of the changes we’ve made.


  • 1 kg spinach, coarsely chopped (or 500g fresh spinach and about 11 oz / 315g frozen spinach)
  • 300 g tofu (or paneer), cut into ~2 cm pieces
  • 1.67 Tbs. ghee (or butter)
  • 1 Tbs. olive oil
  • 1 Tbs. minced garlic
  • 1.5 tsp cumin seeds
  • 1 tsp cayenne pepper (you can cut this to 1/2 tsp. if you want it less spicy)
  • 1.5 tsp ground coriander
  • 4 tsp. minced ginger
  • 1 tsp salt
  • 2 Tbs. cream
  • 1 tsp garam masala


  1. In a large cast iron or nonstick skillet over medium-high heat, add 2 tsp. of ghee. When it’s hot add the tofu (if using) and pan-fry the tofu until the bottom browns a little.  Turn the tofu pieces over and brown the other side.  Remove the browned tofu and place on a plate.  Set aside.
  2. In the same pan, heat the remaining tablespoon of ghee and the tablespoon of olive oil, and saute the garlic until it is golden brown. Add the cumin seeds and toast them until they change color and start to crackle. Add the cayenne and ground coriander and stir for another minute.
  3. Add the spinach and cook over a low heat for 10 minutes, until the leaves wilt.
  4. Add the tofu or paneer cubes, ginger and salt, and cook for 6-7 minutes until the oil starts to shine on the surface of the spinach. Then, stir in the cream.
  5. Sprinkle with garam masala.

My notes:

The original recipe calls for 1 kg of fresh spinach but that’s a lot of work to wash and prep, so I usually use half fresh spinach and the rest frozen spinach which I defrost and then drain, since the extra water makes the final dish a bit soupy.  The original recipe is very rich, calling for the paneer/tofu, 2 Tbs. of cream, 2 Tbs. of ghee, 2 Tbs. vegetable oil, plus oil to cook the tofu in.  I’ve cut back slightly.  It’s still very decadent though.  I’ve also increased the spices a bit (originally they were 1 tsp. each of cumin and coriander and 2 tsp. each of garlic and ginger).  Finally, the recipe says to garnish with 1 medium seeded sliced tomato, but I’ve never done that.  Garnishes.  Meh!

In India, saag is typically made with a mix of spinach and mustard greens, but mustard greens aren’t available here so lately I’ve been mixing in some other greens as well, sometimes chard, sometimes radish tops, sometimes kohlrabi tops.  They make the texture a little less silky and a little more fibrous.

I find it odd that the recipe has you add the ginger so late in the game.  That’s pretty unusual.

We quite like this recipe but prepping the greens is still a lot of work (especially since I often end up doubling the recipe), and sometimes it turns out better than others.  I think I need to play around with the spicing and fat levels a bit more.  I was curious to see how this recipe (i.e., the original, unmodified one by Kochhar) compares to a few other recipes for saag that I’ve seen lately.  I included only 3/4 of the Kochhar recipe in the table since it was larger than the others.

Ingredient Kochar 101 cookbooks Nguyen (Serious Eats) Cooks’ Illustrated
Spinach/greens 3/4 Kg (26 oz) fresh 1.5 pounds (24 oz) fresh 1 lb. fresh + 8 oz mustard greens 10 oz fresh + 12 oz mustard greens
Fat 1.5 Tbs. ghee + 1.5 Tbs. oil + oil to cook tofu 2 Tbs. ghee 1/4 cup canola oil + 2 Tbs. butter (opt) 3 Tbs. butter
Cheese/tofu 8 oz paneer or tofu 8-12 oz paneer 12 oz. tofu homemade paneer from 1 gallon of milk
Garlic 1.5 tsp. 3 cloves 3 cloves 3 cloves
Ginger 1.5 tsp. 1 Tbs. grated 1-inch 1 Tbs. grated
Onion none 2 medium 1 onion 1 onion
Heat 3/4 tsp. cayenne 1/4 tsp. red pepper flakes 2-3 green Thai or serrano + 1/4 tsp. cayenne 1  jalapeno
Cumin 3/4 tsp., whole 1.5 tsp., ground 1 tsp. whole 1 tsp. whole
Coriander 3/4 tsp. ground 3/4 tsp., ground none 1 tsp. ground
Garam masala 3/4 tsp. pinch of ground cardamom + cloves none 1/2 tsp. ground cardamom + 1/4 tsp. ground cinnamon
Other spices none 1/4 tsp. turmeric none 1 tsp. paprika
Salt 3/4 tsp. scant 1/2 tsp. 1.5 tsp. 3/4 tsp.
Other dairy 1.5 Tbs. cream 1 cup buttermilk + splash of cream or yogurt (opt) none 1 cup buttermilk + 1/2 cup roasted cashews, ground
Garnish/other 1 med sliced tomato fresh lemon and sesame seeds none 14.5-ounce can diced tomato + 3 Tbs. cilantro
Serves ?? 4-6 4 with 2-3 other dishes 4-6

Basmati Rice 

I often serve this Saag with rice, but I find it just doesn’t taste right with brown rice.  So I make basmati rice, but I’m bad at it.  If I just do my usual “bring to a boil and cook on low” the rice comes out with under-plumped, spindly little grains.  It just doesn’t seem right at all.  But it works pretty well when I carefully follow Madhur Jaffrey’s instructions.  Note that with the rinsing, soaking, draining, cooking, and resting, you’ll need a total of about 1 hour 15 minutes for this recipe!

  1. Wash 2 cups basmati rice in several changes of water and drain it.  Put it in a bowl, add 5 cups of water and let it soak for 30 minutes.
  2. Drain it thoroughly and let sin in a strainer set over a bowl or the sink for 10 minutes.   Meanwhile, get out a heavy, 2- to 3-quart pot that has a tight fitting lid.
  3. Optional step: Melt 2 Tbs. of butter in the pot over medium heat, then add the drained rice, stir and cook, stirring gently, being careful not to break up the grains of rice.  Try to get all the grains well-coated with butter—it should take about a minute or so.
  4. Add the rice if you haven’t already, 2 1/2 cups of water and 3/4 tsp. of salt (optional).  Bring to a boil.  Turn the heat to very low, cover, and cook for 20 minutes.
  5. Turn off the flame. Let the pot sit, covered and in a warm place, for another 10 minutes.

My notes:

I don’t really understand why you drain it only to add water again.  Maybe it’s just so that you get the exact right amount of water?  Maybe if you don’t drain it well than the amount of water left on the rice varies quite a bit?  It’s hard to believe that could make much of a difference.  Maybe the drying step somehow does something to the rice starches?

Last time I made this I tried using the butter, but only 1 Tbs., and it seemed like plenty to coat the rice.  Maybe even a 1/2 Tbs. would be enough.  I also added whole green cardamom pods and saffron threads.  I’m not sure I could taste either of them in the final dish but the saffron definitely added a lovely “Indian” aroma and gave the rice a few bright yellow spots, which were pretty.  I wish there were a few more though.  Next time I think I’d try chopping up the saffron threads into smaller pieces.  Maybe also adding cloves or crushed fennel seeds?

I’m not sure why Jaffrey has you cook the rice for 20 minutes.  That seems like a long time for white rice.  Last time I tried 15 minutes and the rice seemed fully hydrated and cooked after the 10 minutes resting time.

Jaffrey says that 2 cups of basmati rice serves 4-6 but I think it should be more like 6-9. (I guess we eat much less rice than she does.)  So I think this is about the right amount of rice for 1.5 – 2 kilograms of spinach (e.g., 1.5 to 2 times the recipe above).  If you’re only making one recipe you might want to cut down on the rice or just plan on using the extra for something else.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: