Makhani, with its deeply colored and flavorful gravy, is perhaps one of the most fabled and beloved Indian curries. You can serve this vegan Tofu Makhani with vegan naan or basmati rice for a delicious, healthy meal.

Here's a master recipe for a gravy you can use to make any kind of "makhani" dish.
If you've eaten at an Indian restaurant, you've likely come across Chicken Makhani, or Butter Chicken. The reason for Butter Chicken's immense popularity is its smooth, signature-orange gravy that wraps itself silkily around your tastebuds, and the fabulously buttery flavor that rounds off sparkling notes of spicy, sour, salty, bitter and sweet.
But Butter Chicken is also not, as the name suggests, a healthy dish. It usually includes cream, butter, and -- of course, chicken, with all of the accompanying fat and cholesterol. All of which makes it a no-no in my kitchen where the only creatures who wander in are there to eat, not be eaten.

A reader recently asked me for a vegan version of Butter Chicken, which spurred me to cook this delicious dish once more and share it with all of you.
This gravy is exactly similar to the one typically used for Butter Chicken, with the exception, of course, that there is no butter or cream here. At least not real butter, but we do need a tablespoon of a good quality vegan "butter". It's really not much since this recipe would easily serve four people, so don't try to skimp on it because you won't end up with the desired smooth, rich result.
You can use this gravy with tofu, as I did, or even with meat substitutes and vegetables like mushrooms or eggplant. It is fabulous every which way. Adding tofu to this dish brings it closer to another popular Makhani dish, Paneer Makhani, where paneer, an Indian cheese, is added to the gravy. But tofu has healthy fats, unlike paneer, and it is bursting with good protein.
Dal Makhani is a slightly different dish and you can find my vegan Dal Makhani recipe here. You could also easily adapt this tofu makhani recipe to make a dal makhani by simply adding boiled and tender lentils at the stage where the tofu gets added to the dish.
I marinate the tofu for extra flavor, and it really helps, so take the time to do it. If you are using veggies or meat substitutes, you can use the same marinade ingredients and brown the veggies or meat substitutes before adding them to the makhani gravy. Add the veggies or meat substitute at the same stage where you'd add the tofu. (Try air fryer tofu in this curry for a chewy, delicious texture),
Here's the recipe, then, for an incredibly super and versatile Tofu Makhani. Enjoy, all!
Related recipes:


Tofu Makhani
Ingredients
For the Marinated Tofu:
- 1 teaspoon avocado oil (any other vegetable oil will work too)
- 14 ounces extra-firm tofu (Swaddle the block of tofu in a paper napkin or cheesecloth, place it in a sieve, and place a heavy weight, like a pan, on top. Let the tofu stand for an hour at least so most of the water has drained out of it. Then cut it in half down the middle, and halve again crosswise so you have four slices.)
- 1 teaspoon coriander powder
- ¼ teaspoon cayenne (or paprika for less heat, or another red chilli powder)
- ⅛ teaspoon turmeric
- 1 tablespoon lemon juice
- Salt to taste
For the Makhani Curry:
- 1 teaspoon avocado oil (any other vegetable oil would work too)
- 3 pods green cardamom
- 3 cloves
- 10 peppercorns
- 1-inch piece cinnamon
- 1 tablespoon cumin seeds
- 1 tablespoon coriander powder
- ½ tablespoon grated garlic
- 1 tablespoon grated ginger
- 1 small onion, finely chopped
- 1 large tomato, finely chopped
- ¼ cup tomato paste
- ½ teaspoon turmeric
- ½ teaspoon cayenne (can sub with paprika for more color and less heat, or any red chili powder)
- 2 heaping tbsp kasoori methi (dry fenugreek leaves), optional
- 2 teaspoon sugar (grated jaggery or maple syrup will do)
- 2 cups or more vegetable stock (Can sub water but stock will add even more flavor)
- ¼ cup raw cashews
- 1 tablespoon vegan "butter"
- 1 tablespoon lemon juice
- 2 tablespoon cilantro for garnish
Instructions
- Prepare the tofu:
- Mix all the ingredients except the tofu. Now slather the marinade on the slices of tofu you've prepared and set aside for about half an hour.
- Smear the oil evenly in a nonstick or cast-iron griddle. When it's hot, place the slices of tofu in the pan without crowding them. Cook until golden-brown on each side, about four minutes per side. Remove to a plate and, when cool, cut into ¾-inch cubes. Set aside.
- Make the Makhani curry:
- Heat the oil in a saucepan. Add the cumin seeds, and when they sputter add cardamom, cloves, peppercorns and cinnamon. Saute for a minute over medium-high heat.
- Add the onions and a little salt and saute until the onions start to brown, about five minutes. Add ginger and garlic pastes, kasoori methi, and cashew nuts and saute for another minute.
- Add the tomatoes and tomato paste, powdered coriander, turmeric, and chilli powder.
- Saute the mixture until the tomatoes turn really soft and melt into the saucepan. If the mixture starts to get too dry before the tomatoes are done, add some water or vegetable stock and continue cooking.
- Once the tomatoes are really soft, turn off the heat and let the mixture cool. Pour into a blender and add a cup of vegetable stock. Blend to a smooth paste. (Don't blend the mixture while it's still hot because it can be dangerous. If you have a hand blender, this is the time to use it.)
- Pour the blended paste back into the saucepan, turn on the heat, add the remaining vegetable stock if the mixture is thick, and bring to a simmer. Now add the tofu cubes and stir them in. Add salt to taste. Let the mixture simmer for about 10 minutes.
- Add the vegan butter and turn off the heat. Stir to melt the butter into the sauce.
- Add the lemon juice and maple syrup, mix well, garnish with coriander leaves, and serve hot with some boiled rice or naan.
Susan
Unbelievably delicious with depth and layers of flavours coming through - the best ever ! Can anyone tell me what other dishes such as vegetable or rice dishes would go well with this ?
Vaishali
Hi Susan, Jeera rice or plain basmati rice would be great with this. I love serving potato or milder veggie dishes with recipes like this. Here are some suggestions.
https://holycowvegan.net/jeera-rice-indian-cumin-pulao-no-soak-15-minutes-three-ingredients-recipe/
https://holycowvegan.net/basmati-rice-recipe-how-to-cook-basmati-rice/
https://holycowvegan.net/indian-style-potato-salad-turmeric-green-peas/
https://holycowvegan.net/easy-pan-roasted-zucchini/
Susan
Thank you for info about the accompanying dishes, that's great advice. I am preparing this for a dinner party so I want to make sure it all goes well together ! Warmest wishes, Susan
Vaishali
💕
Nadav
This is so good I made it twice in the same week.
Cant wait to try more of your recipes
Vaishali
So happy you loved it!
Vandini
I have only just started cooking and I tried this recipe Didn't have all the ingredients from your list. I didn't use cashew, used water instead of vegetable stock and honey instead of maple syrup. It turned out so good. Thank you
Vaishali
Hi Vandini, that's so great to hear. Happy you tried it!
El
This looks delicious! Is there something i can substitute for the cashews? Nut allergy 🙁 Doesn’t have to be vegan.
Dave fryett
Would this work with whole black urad?
Vaishali
Yes it absolutely will! Make sure you cook the lentils separately and then add.
John Kaplan MD
The 3rd ingredient on the Tofu states "3 cloves". Do you mean 3 whole dry cloves or is it garlic you are referring to? Dr John
John Kaplan MD
I meant Curry ingredients.
Vaishali
It's three dry cloves!
Rebecca
Hi Vaishali.
There is only 1 word to say, Fabulous.
Ellen
This looks delicious and I'd like to try it! Please clarify-the ingredients for marinating the tofu are
1 tsp coriander powder
¼ tsp cayenne
⅛ tsp turmeric
1 tbsp lemon juice
Salt to taste
This seems like it's not enough to cover and marinate the tofu.
Vaishali
Hi Ellen, that should be enough. Just rub it lightly into the tofu pieces.
Anonymous
is extra firm tofu recommended for this dish vs the super firm that you recommend in other tofu dishes like tofu saag?
thanks,
N.
Vaishali
Hi, you can use super firm here! It wasn't available at the time I posted this makhani recipe, but would work just as well as the extra firm. 🙂
Parmjot
I am turning vegan as just went through many of your recipes and its inspiring me to walk faster on vegan path... thanks and love from India ...
Vaishali
That's lovely to hear. Good luck on your vegan journey!
Kasia Uroda
Magic - pure magic. This is the ultimate Makhani recipe which I have been looking looking for. Thank you very much! Your blog is an amazing source for inspiration!!!
Vaishali
Hi Kasia, awww, so thrilled and touched to hear that. I am happy you enjoyed the makhani, one of my favorites too. Thanks for your kind words. 🙂
Addie
This recipe was super good!! Although I only ended up using one cup of the stock because it was already pretty liquid with just one. Thanks!
Vaishali
So happy to hear!
Brad
This recipe was incredibly delicious. I prefer my curry with more spice level to it, so I added a bit more chili powder/cayenne, but overall it was full of flavor. Very rich and robust. Thank you so much!
Vaishali
Yes always adjust cayenne and salt to your taste. So happy you tried it!
Doreen
Can i freeze this recipe after making? Does tofu freeze well?
Vaishali
Hi Doreen, tofu changes texture after freezing. I’d freeze the curry alone and add the tofu during reheating.
Eimear Moss
Absolutely stunning curry! Find me a better recipe, you won't!?
Vaishali
?❤️
Nandita
Probably the first time I have made this dish at home. Followed this recipe and it turned out amazing! I didn't have fresh tomatoes, I used a puree. Skipped on cardamom and cloves - didn't have those either, used bay leaves. Still, it was so good! Also added a bit of coconut cream instead of (vegan) butter. 🙂 This is better than I've had at most restaurants!
Vaishali
So happy you loved it!
steven
This recipe has become a family favourite and I know make this once a fortnight. Instead of tofu I use sweet potato, oven bake, marinate, and pan fry to seal the flavours. I've sometimes substituted cashew nuts with almonds and there's no real difference in taste. Delicious! 🙂
Gail
Thank you for the sweet potato tip. I have sweet potatoes on hand but not tofu, will give this a try
Vaishali
Hi Gail, hope you love it as much as we do!
Vaishali
So great to hear Steven! Thanks for letting me know. ❤️
Anonymous
Hi Vaishali , this tofu recipe is simply
yummy . I am not very fond of tofu , but
cooking it this way is really very rich and
extremely delicious . Once I used toasted
peanuts instead of cashews, it was equally
yummy . Thanks a lot for your easy and
delicious recipes . God bless you dear .
Vaishali
Thank you ❤️
Christina Teasley
I've never been able to make good Indian food like I find in Indian restaurants until I found this recipe! Blending the spices, tomatoes, etc. Genius! Grating garlic? Never tried it before but will continue to do so in the future. Thank you so much! I left out the fenugreek and used regular cashews because it's all I had and it was still amazing!
Vaishali
So happy you loved it!
Rana
Hello,
Do you remove the whole spices before blending the sauce?
Thanks
Vaishali
No, leave them in!
Ipsita
Turned out really nice.. Thank you..
Anonymous
Made this today with minor changes. I put silken tofu instead of the cashews, and extra maple syrup because I didn’t find dried fenugreek leaves. I added eggplant, cauliflower, peas and carrots to it too. It tasted absolutely delicious!
Thank you for this great recipe.
Vaishali
Great additions!❤️
Mary
Can I use ground fenugreek instead of leaves?
I feel like I want to add some vegetables to this dish- what would work well?
Vaishali
The fenugreek seed is much more bitter so if you can’t find the leaves just leave it out. You can try potatoes, sweet potatoes, zucchini, bell peppers, eggplants or cauliflower.
Piya
Thank you for the lovely recipe and directions. It was delicious!
Sharon Ley
Thank you so much for sharing Vaishali! I do eat meat and having been wanting to eat less (or none). As I’m a big fan of Butter Chicken I wanted to try your vegan version. I made it exactly to your recipe (except I used one can of chopped tomatoes without the tomato paste and I removed cinnamon stick before blending). Oh my!!! This is a wonderful and already favourite recipe! The gravy is exquisitely rich and complex and the tofu surpringly soft and flavourful. I considered just putting it in at the end to preserve the crunchy fried skin but found it tough after frying. So I did what you said and cooked it in the gravy for ten minutes and it became so deliciously soft! I’m so excited to make this for my vego and carnivorous folk, it feels like a special meal and I love that it is cruelty free. It’s exciting to know full rich flavours can be enjoyed in vegan food and I’ll be trying your other recipes 🙂 Thank you!
Vaishali
What a lovely message and so happy you enjoyed this meatless dish!