Shahi Tofu
Soft tofu cubes in a rich, mildly spiced gravy made with onion, tomato, cashews, and a little cream. It has the royal feel of a shahi curry but stays light enough to pair easily with roti, naan, or jeera rice.
For 4 servings
- prep · ~15 min
Prep the tofu and soak the cashews.
1.Press the tofu gently to remove extra moisture, then cut it into medium cubes.2.Soak the cashews in warm water for 15 minutes.3.Slice the onion, chop the tomato, and roughly chop the ginger.TIPPressed tofu holds its shape better in the gravy. - saute · ~4 min
Lightly cook the tofu.
Heat 1 tbsp oil in a pan over medium heat. Add the tofu cubes and cook for 3 to 4 minutes, turning gently, until lightly golden on a few sides. Remove to a plate.
- saute · ~13 min
Cook the base for the gravy.
1.Heat the remaining 1 tbsp oil in the same pan over medium heat.2.Add bay leaf, green cardamom, cloves, and cinnamon. Cook for 30 seconds until fragrant.3.Add onion and cook until soft and light golden, 5 to 6 minutes.4.Add ginger, garlic, and green chili. Cook for 1 minute.5.Add tomato and cook until soft and pulpy, 4 to 5 minutes.TIPKeep the heat medium so the whole spices release flavor without burning. - mix · ~5 min
Blend the shahi gravy.
Turn off the heat and let the onion-tomato mixture cool slightly. Transfer it to a blender with the soaked cashews and blend to a smooth paste.
- saute · ~4 min
Cook the spice paste.
Return the blended paste to the pan over low to medium heat. Add turmeric powder, red chili powder, coriander powder, garam masala, and salt. Cook for 3 to 4 minutes, stirring often, until the masala thickens slightly.
- simmer · ~8 min
Finish the curry.
1.Pour in the water and milk, then stir well to loosen the gravy.2.Bring the curry to a gentle simmer for 4 to 5 minutes.3.Add the tofu cubes and crushed kasuri methi.4.Simmer for 3 more minutes so the tofu absorbs the flavor.5.Stir in the fresh cream and switch off the heat.TIPDo not boil hard after adding cream or the gravy can lose its silky texture. - garnish
Garnish with coriander leaves.
- serve
Serve hot with roti, naan, or jeera rice.
What to keep in mind.
7 tips from the recipe — small details that make a real difference to the final dish.
- 1Lightly golden tofu is enough here; over-frying can make it chewy instead of soft in the gravy.
- 2Cool the onion-tomato mixture slightly before blending so the cashew gravy turns smooth and safe to blend.
- 3If the gravy looks grainy after blending, pass it through a sieve for a more restaurant-style shahi texture.
- 4Cook the blended masala until it thickens and smells rounded, or the curry can taste raw and oniony.
- 5Add kasuri methi at the end after crushing it between your palms to release its aroma fully.
- 6Keep the final simmer very gentle once milk and cream go in, so the gravy stays silky and doesn't split.
- 7This curry tastes even better after 30 minutes of resting, when the tofu absorbs the mild shahi spices.
Adapt it for your goals.
Vegan
Replace milk and fresh cream with unsweetened cashew milk or coconut cream for a fully dairy-free shahi curry.
jainJain
Skip onion and garlic, increase cashews slightly, and use ginger, tomato, and whole spices for a smoother no-onion base.
high proteinHigh-protein
Use extra tofu and reduce cream slightly for a more protein-forward version that still keeps the gravy rich.
paneer stylePaneer-style
Pan-sear the tofu a little longer for firmer edges if you want a texture closer to classic shahi paneer.
Why this is on our healthy list.
Good Plant Protein Base
Tofu makes this curry filling and satisfying while adding plant-based protein to the meal.
Richness from Nuts, Not Heavy Butter
Cashews add body and creaminess to the gravy, reducing the need for a lot of butter or excess cream.
Includes Aromatic Spices
Ginger, garlic, coriander, and whole spices bring flavor depth so the dish stays vibrant without being overly hot.
Frequently asked questions
Yes. You can add pressed tofu directly to the simmering gravy, but lightly pan-searing helps it hold shape and adds better texture.



