
This hearty vegan Tofu Makhani is pure comfort food with bold flavors and creamy curry sauce that really pulls you in. It is perfect for weeknight dinners or when you want to impress your friends with a homemade Indian meal that happens to be entirely plant-based.
My favorite part is how easily the sauce comes together and how satisfying each bite is. The first time I made this for my family, everyone was so surprised it was vegan. Now we reach for it whenever we want something cozy yet exciting.
Ingredients
- Extra firm tofu: pat adds structure and soaks up all the spices look for no cracks and a clean smell
- Kashmiri red chili powder: vibrant color with gentle heat worth picking up for authenticity
- Garam masala: brings signature Indian warmth homemade if possible gives best results
- Ginger and garlic paste: develops flavor base and gives a fragrant kick fresh is best
- Turmeric: for earthiness and golden color try organic for aroma
- Raw cashews: blend into a creamy dairy-free base whole unbroken nuts are prized for taste
- Ghee or oil: use a neutral plant oil for vegan and a good quality ghee if you can for richness
- Yellow onion: gives the sauce sweet depth pick heavy onions with shiny skin
- Tomato puree or fresh tomatoes: forms the tangy backbone use ripe tomatoes or a favorite trusted brand for puree
- Tomato paste: adds concentrated umami pick one with no added sugar or fillers
- Kasoori methi: dried fenugreek gives a little floral and bitter magic a must-have for Indian dishes
- Cilantro: brings a fresh finish look for bright green leaves with no wilting
Step-by-Step Instructions
- Prepare the Tofu:
- Wrap the tofu block in paper towels and press with a heavy pot to remove as much water as possible. Give it a full five minutes so it is firm enough to handle all the rich sauces later.
- Marinate the Tofu:
- Slice tofu into even one inch cubes for best texture and appearance. Combine the cubes with salt chili powder turmeric garam masala ginger and garlic paste. Mix gently by hand so the tofu does not break and let it rest to absorb flavor.
- Make Cashew Cream:
- Soak cashews in warm water for about fifteen minutes to soften them fully. Then blend until perfectly smooth for a creamy sauce base that will bring everything together silkily.
- Sauté the Onions:
- Add oil and finely diced onions to a medium pan. Cook on medium heat for eight to ten minutes stirring and covering if you want to speed things along. Wait for the onions to turn translucent and lightly golden since this is where a lot of sweetness and depth is built into the sauce.
- Bloom Aromatics and Spices:
- Stir in the ginger and garlic paste and cook for another minute until fragrant. Add tomato puree with salt chili powder turmeric and garam masala. Mix so the spices bloom and cook for five minutes on medium-low heat until oil appears at the edges.
- Thicken the Curry Base:
- Add tomato paste and a cup of water to the pan. Stir well and cook covered on a gentle heat for ten minutes to really meld those flavors. Next stir in sugar cashew cream and kasoori methi for a finishing touch that makes the sauce glossy and lush.
- Pan-Fry the Tofu:
- Heat oil or ghee in a nonstick frying pan over medium heat. Lay tofu pieces in a single layer pour over any leftover marinade and fry gently for three to five minutes on each side until golden and crispy edged.
- Combine and Finish:
- Transfer the fried tofu gently into the curry sauce. Stir to coat every piece and simmer very gently for two to three minutes. The sauce should just begin to bubble slightly which helps the tofu soak in all the flavors.
- Serve and Garnish:
- Chop cilantro and sprinkle over the curry just before serving for fresh green color and brightness.

Cashews make a velvety creamy sauce that always surprises people with its dairylike feel. The first time my little one tried this dish she swore I had poured heavy cream in. Her face lit up with the first bite and now it is a recurring request during Sunday dinners.
Storage Tips
Store tofu makhani in a tightly sealed container in the fridge for up to four days. Flavors deepen after a day so leftovers can be even better. The sauce freezes very well just portion before freezing and thaw overnight in the refrigerator before reheating on the stove.
Ingredient Substitutions
If you cannot find Kashmiri chili powder try a mix of paprika and a mild cayenne for color and gentle heat. Sunflower or avocado oil works great if you do not use ghee. Almonds can step in for cashews if allergies are a concern but be sure to soak well and blend thoroughly for smoothness.
Serving Suggestions
Scoop generous ladles of tofu makhani over basmati rice or with warm naan. For extra vegetables stir wilted spinach or steamed peas into the sauce just before serving. This curry pairs beautifully with a tangy cucumber salad to balance out the richness.
A Bit of Curry History
Makhani style sauces originated in North India where butter and cream formed the base for elegant party dishes. This vegan version celebrates all their richness using nuts and careful spicing to hit the same comforting notes. Tofu steps in for paneer making it just as satisfying but plant based.
Recipe FAQs
- → How do I ensure tofu absorbs maximum flavor?
Press tofu well to remove moisture before marinating. Let it sit with spices for at least 15 minutes for better absorption.
- → Can I use store-bought tomato puree?
Yes, using tomato puree yields a rich color and texture. Fresh pureed tomatoes can also be used for a lighter sauce.
- → Is ghee necessary for this dish?
Ghee adds richness, but you can substitute with a neutral oil or vegan butter if preferred for a fully plant-based dish.
- → How can I make the sauce extra creamy?
Blend soaked cashews into a smooth paste and stir in at the end for more creaminess and depth of flavor.
- → What are some side dishes to serve with this?
Tofu makhani pairs well with steamed basmati rice, jeera rice, or warm naan for a hearty meal.
- → Can I prepare this ahead of time?
The sauce can be made in advance and refrigerated. Add the tofu just before serving to maintain its texture.