My recipe for Indian restaurant style tofu makhani with chunks of creamy tofu in a delicately spiced, richly flavored curry sauce.

Table of Contents
If you love Indian food, you are likely familiar with dishes like dal makhani and paneer makhani with their signature orange, velvety sauce. I created this tofu makhani in 2011 to riff off those dishes, while keeping this recipe fully vegan.
This is an easy recipe that takes just 30 minutes to make, and it's perfect for anyone who doesn't have hours to create a complicated, restaurant-style dish. If you don't eat tofu, you can use this sauce with any protein, including beans and lentils.
I build layers of flavor in the makhani sauce with spices, fresh tomatoes and onions. Tomato paste adds umami. Makhani sauce is so called because it gets its creamy texture from "makhan" or butter. Cream is also added toward the end of cooking. For this vegan makhani I use cashew cream and vegan butter with fantastic and authentic tasting results. The tofu, my substitute for paneer, absorbs the creamy sauce and becomes deliciously soft and puffy.
The flavor of this makhani is a pleasant surprise: complex, creamy and mildly, delicately spicy, not fiery hot as curries can often be. Serve it for dinner with vegan naan or roti, or with basmati rice with vegan cucumber raita on the side.
Unbelievably delicious with depth and layers of flavours coming through - the best ever! - Susan
Recipe card

Tofu Makhani
Ingredients
Marinated tofu
- 14 ounces extra-firm tofu (press out all water and cut the tofu into four slabs)
- 1 teaspoon ground coriander
- 1 teaspoon ground cumin
- ¼ teaspoon Kashmiri chilli powder (or paprika)
- ¼ teaspoon turmeric
- 1 tablespoon lemon juice
- Salt to taste
- 1 tablespoon avocado oil or any neutral oil
Makhani curry
- 1 teaspoon avocado oil or any neutral oil
- 4 green cardamom pods
- 4 cloves
- 10 black peppercorns
- 1-inch piece cinnamon
- 1 onion (diced)
- 1 large tomato (diced)
- ¼ cup tomato paste
- 1 tablespoon ginger garlic paste
- 1 tablespoon ground coriander
- 1 teaspoon ground cumin
- ½ to 1 teaspoon Kashmiri chilli powder (or paprika)
- ¼ cup raw cashews
- 2 cups water (or vegetable stock)
- 2 tablespoons kasoori methi (dry fenugreek leaves. Crush them between your palms when you add them to the sauce)
- 1 teaspoon sugar
- 1 tablespoon vegan butter
- 2 tablespoons cilantro (chopped, for garnish)
Instructions
Prep tofu
- Place spices for tofu marinade -- turmeric, ground coriander, ground cumin and Kashmiri chili powder or paprika -- in a bowl along with lemon juice.

- Whisk to mix.

- Add tofu slices to the bowl and coat each slice on all sides with the marinade.

- Heat a tablespoon of oil in a large pot or Dutch oven over medium heat (use an enameled pot or non-stick pot to ensure tofu doesn't stick). Add the tofu slices and sear them on all sides until a light crust forms. This should take no more than two minutes per side.

- Remove the tofu to the bowl you made the marinade in and let it cool enough to handle, then cut the tofu into ½-inch cubes. Set aside.

Make makhani curry
- In the same pan or Dutch oven that you fried the tofu, heat a teaspoon of oil over medium heat. Add the whole spices: peppercorns, cinnamon bark, cloves and cardamom. Saute for a minute.

- Add the onions along with a pinch of salt. Sauté the onions until soft, not brown, 2-3 minutes.

- Add the tomatoes, tomato paste, ginger garlic paste, ground coriander, ground cumin and Kashmiri red chilli powder or paprika to the pot. Mix and cook, covered, until the tomatoes break down and are very soft, about 3-4 minutes.

- Stir in the cashews and continue sauteing for a couple of minutes.

- Add a cup of water, mix, and turn off heat. Once the mixture has cooled a little, remove it to a blender.

- Blend it into a smooth sauce. You can also do use an immersion blender to blend the curry in the pot itself. Pour the blended sauce back into the pot. Stir in sugar and kasoori methi.

- Bring the sauce to a boil over medium heat. Continue to cook for 5 minutes, stirring frequently. The gravy will thicken, so add another cup of water to thin it out. Stir in the tofu cubes and warm through for 2-3 more minutes.

- Stir in the vegan butter, add cilantro, and turn off heat.

Notes
- You can use vegetable stock instead of water to make the curry, adding another layer of flavor to the tofu makhani.
- Soy-free: Use the makhani sauce with chickpea tofu or another protein that is soy-free, including vegan chicken chunks. You can skip the meat substitutes and use veggies like mushrooms or eggplant.
- Low-carb: This recipe has just 13 net carbs, making it a great inclusion in a low-carb, high-protein diet. If you are looking for more protein, use high-protein tofu instead of extra-firm. Serving the tofu makhani with quinoa will bump up the protein and fiber content of the meal.
- Nut-free: Use pumpkin seeds instead of cashews.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.

Recipe first published December 13, 2011. Updated and re-published on July 19, 2024.














Rachana says
Hi Vaishali,
How are you? Thanks for giving such wonderful recepies,I made tofu Makhani came out really nice. Tofu is good sub for Paneer.
Thanks once again.
Vaishali says
Hi Rachana, lovely to hear that-- so glad you tried the makhani! Tofu definitely makes a good Paneer substitute. Have a great weekend! 🙂
Laina says
Okay, thanks so much. Do you know of an online source?
Vaishali says
Amazon should have it. Search for green cardamom. Good luck!
lainaeLaina says
Thanks, I found some local. What about the fenugreek, can I use seeds and how much? Also, can I use powdered cinnamon?
Vaishali says
Seeds have a very different flavor from the leaves-- they are much more bitter, so don't use them. Just leave it out. And if you're using powdered cinnamon, use no more than 1/2 a teaspoon and don't roast it-- just add it to the other spices before blending. Cheers.
Laina says
I will look, but will it change the flavor a lot if I can't find green cardamom pods?
Vaishali says
Laina, cardamom adds a great, distinct flavor. You can leave it out and it would be delicious still, although if you can find it I'd definitely recommend adding it.
harjeet says
it was awsome
Selah N O says
This looks/sounds amazing! Have you ever used eggplant instead of the tofu?
Vaishali Honawar says
I haven't. But I love eggplant enough to say that even if it is not delicate enough to be a natural makhani ingredient, it would still taste awesome with all of these spices. Mushroom would perhaps work even better.
Veganopoulous says
Hi Vaishali, I made this dish and it's great 🙂 Blogged about it with the addition of potato and beans. I found it tasted better the next day. Thank you!
Anonymous says
I liked d pic so much that i brought tofu for the 1st time & tried this recipe. I skipped some things n simply stir fried d tofu instead of marinating.I had less time n not all ingridients. But it turned out to b good. Thank you so much
Raj says
This tasted really good except I blended the cinnamon sticks as well. Was I supposed to take them out? The recipe didn't say to. Now my quadruple batch has the texture of wood 🙁
Other than that, it tastes great!
Vaishali Honawar says
Raj, How much cinnamon did you use? You just need a 1-inch piece which, even if you blend it (it needs to be added whole in the recipe) should not create the "texture of wood" in the recipe.
Raj says
Vaishali, thanks for replying!
Sorry, I've never used cinnamon stick before - didn't really know what I was doing.
I quadrupled (x4) the batch, so I used 2 cinnamon sticks. Each stick was about 2 inches in length.
I blended for about 10 minutes with a high speed immersion blender, but I can still feel the tiny woody bits between my teeth.
I still loved the recipe, but next time I will either fry the cinnamon for longer to make it more brittle, or instead just remove it before blending.
Vaishali Honawar says
Raj, 2 cinnamon sticks is fine, but as you guessed the immersion blender did not puree them well enough. Also don't use the big, thick cinnamon sticks you get here in the US, but preferably the thinner bark you find at Indian stores which is softer. If you use the big round ones, add only half as much.
Alison says
I just tried this recipe tonight. It was delicious! I have a question though - probably a stupid question, but I am relatively new to cooking curries. Do you grind your spices (i.e. the cardamom and cinnamon) or just put them in as is? And if so, is there any point in the cooking process when you remove them, or do you just blend them in when you blend the onions, etc.?
Thanks so much for your blog!
Vaishali Honawar says
Alison, it's not a stupid question-- you add the spices whole but you blend them up with the onions. Hope that helps. 🙂
tess says
I just made this (minus the tomato paste, so mine wasn't as red) and it was SO good! Thank you for the recipe - I will definitely use it again! 🙂
Deepa says
I'm making this for dinner tonight! It looks amazing so far!!
michael says
I made this last night with some store bought marinated tofu and it was absolutely delicious! I didn't have any fenugreek leaves so I just used a good pinch of fenugreek seeds in with the jeera. Look forward to cooking more from your blog, might try the Patia tonight :)Thanks for the delicious recipes!
Vaishali says
Michael, thanks for the feedback-- glad you liked the makhani.
gastro-doc says
Hi Vaishali! I found your website & it looks great! I made the tofu makhani this weekend and I REALLY love it (I left out the sweet element). I followed your directions but mine doesn't look as vibrant as yours :o(
Will definitely make this again -- tofu is good for you & so is your site!
All the best 😀
Vaishali says
Anneka, glad you like it, and thanks for letting me know. I'm also glad you reminded me to post the recipe. 🙂
Anneka says
I've made this twice now, I was unable to find the fenugreek leaves so left them out but it still tasted so amazing! I'm not a big tofu fan so I use chickpeas or potatoes in place, it's sooo good! It's a big hit here, both mum and I are big fans especially cause it's hard to find good indian food where we live. Thank you so much for this recipe!! 😀 It's nice to make from scratch, to know exactly what is in it unlike store bought ones etc. 😀
Vaishali says
Chitra, thanks for the feedback. Glad you liked it. 🙂
Anonymous says
Hey vaishali can i use fresh tomatoes only instead of the tomatoe paste ? i tried ur recipe and it was a bit in the tangy side as my tomato patse was a bit tangy so had to add lotsa syrup. But it was super yummy everyone loved it.
Vaishali Honawar says
Yes, fresh tomatoes would be fine! Glad you tried it.
Chitra Vivek says
OMG, I am not a Vegan but a great fan of Tofu, I tried this receipe and was big hit. Did modify a few ingredients and still tasted the best. Now this will be a regular in my house. Thanks.
Spandana says
Looks so rich and creamy!! Delicious!!
anthony stemke says
This gravy is fantastic. I alresdy love dal makhani but your sauce has a spice profile that I find most palatable.
Your stuff is good, I want to try this with tofu. I make Italian stuffed shells with tofu but have never thought of marinating them. Thanks for this.
Anneka says
Thank you so much for posting this! It looks and sounds delicious, I can't wait to try it myself. I'll let you know how it goes <3 Thank you!
Manasi says
Looks just like the non-vegan version! Rich, luxurious and yet a delicate blend of spices, umm! Mouth watering!
Maayeka says
Nice and delicious... This is really too good and I must try this...
Kalpana Sareesh says
Superr rich creamy n yum dish.. with tofu..
Poornima Nair says
Love the rich n creamy gravy. Drool!
divya says
Looks so tempting and delicious.. Yummy 🙂
ANU says
wow Tofu in the place of paneer...awesome...
Richa says
love the texture of the gravy! both my and hubbs's parents cant live without a good paneer makhani.. i taught ma my vegan version when she visited in october.. she already made some new vegan stuff she picked up here esp some laddoos! so i a hoping she wills tick to some non paneer non makhan makhani too:)
Rajee Mani says
Yummy and vibrant looking makhani. I love the creaminess that cashew gives to the gravy.
cumincoriandercardamom says
Just send me that bowl 🙂
Priya says
Super rich looking,very much inviting tofu makhani..