
The smell of toasted cumin hitting hot oil takes me straight back to my mother’s kitchen in Pune — except her version always ended with a generous splash of fresh cream and a knob of butter melted right on top. When my sister-in-law went fully vegan three years ago, I panicked a little. Not for her sake, but for mine. How on earth was I going to recreate the same silky, restaurant-worthy gravies without dairy? That question sent me down a beautiful rabbit hole of vegan Indian curry recipes that I am genuinely obsessed with now.
Here’s what I discovered after months of testing in my own kitchen: coconut milk and cashew cream together are an absolutely unbeatable combination. They don’t just replace dairy — in some curries, they actually make the gravy richer and more complex. My mother (who is decidedly not vegan) asked me twice what I put in the makhani at my last dinner party. When I told her it was coconut milk and blended cashews, she went quiet for a moment and then said, “Hm. Send me the recipe.” That felt like the highest possible endorsement.
This post covers 15 classic Indian gravies that I’ve spent real time making dairy-free. Some are straightforward swaps. Others needed a bit more tweaking — the korma especially gave me trouble until I figured out the right cashew-to-coconut ratio. But every single one of these has been tested multiple times, served to guests, and eaten by people who had no idea they were eating a completely dairy-free Indian meal. Let’s get into it.
⚡ Quick Answer
Prep Time: 20 minutes | Cook Time: 35 minutes | Total Time: 55 minutes | Servings: 4
This master recipe gives you the base for all 15 vegan Indian curry recipes in this collection. Built on a caramelized onion-tomato masala, enriched with coconut milk and homemade cashew cream, it’s completely dairy-free, deeply flavorful, and adaptable to any protein or vegetable you love.
Before we get to the 15 individual recipes, let me talk about the two dairy substitutes that changed everything for me.
Raw cashews blended with water create a cream that’s thick, neutral-tasting, and silky in a way that oat milk and almond milk simply cannot match for cooked applications. The key is soaking them long enough — I do 30 minutes in boiling water, though my friend Priya in London swears by an overnight cold soak for an even smoother result. Blend them until there is absolutely zero graininess. I run my blender for a full 2 minutes and check by rubbing a bit between my fingers.
For people in the US or UK who can’t find raw cashews easily: most big supermarkets carry them in the baking or health food aisle. Whole Foods, Trader Joe’s, Waitrose, and Tesco all stock them. They’re sometimes labelled “cashew pieces” which are cheaper and work perfectly for blending. Cashews have been used in Indian cooking for centuries, particularly in Mughlai cuisine, so this isn’t some trendy modern substitution — it’s actually a return to a very old tradition.
Always use full-fat coconut milk from a can — not the carton kind from the refrigerator section, which is watered down and won’t give you that gorgeous richness. I know some people worry about the coconut flavor coming through in, say, a North Indian style curry, but here’s the thing: once it’s cooked down with enough spices and tomato, you really don’t taste “coconut” anymore. You just taste rich. The only exception is if you’re making a very subtle, delicately spiced korma where the coconut can be more noticeable — in that case, go heavier on the cashew cream and lighter on the coconut milk.
This method creates the base for all 15 curries. Variations are listed below — once you’ve made this twice, you’ll be able to riff on it completely intuitively.
Soak your cashews first. Pour boiling water over 1 cup of raw cashews and let them sit for at least 30 minutes while you prep everything else. The cashews are ready when you can crush one easily between your fingers with no resistance.
Make your cashew cream. Drain the soaked cashews and add them to a blender with half a cup of fresh, cold water. Blend on high for a full 2 minutes, scraping down the sides halfway through. You’re looking for a texture like thick heavy cream — smooth, pourable, and completely lump-free. Set aside.
Caramelize your onions properly. Heat 2 tablespoons of oil in a heavy-bottomed pan or kadai over medium-high heat. Add cumin seeds and bay leaves — they should sizzle immediately. After 30 seconds, add the chopped onions and a pinch of salt. Cook on medium heat for 12-15 minutes, stirring every 2-3 minutes. The onions need to turn a deep, even golden-brown color — not pale yellow, not blackened, but that rich amber that smells almost nutty. This step cannot be rushed, and it’s where most curries go wrong.
Cook out the ginger-garlic paste. Push the onions to one side of the pan and add the ginger-garlic paste to the center. It will spit a little — that’s normal. Cook for 2-3 minutes, stirring it into the onions gradually, until you can no longer smell raw garlic. It should look slightly darker and paste-like.
Add tomatoes and dry spices. Add the chopped tomatoes, turmeric, coriander powder, cumin powder, and Kashmiri chili powder. Stir everything together well. Cover the pan with a lid and cook on medium heat for 10-12 minutes, stirring every few minutes. You’ll know the masala is ready when the tomatoes have completely collapsed, the mixture looks almost jammy, and you can see oil beginning to separate and pool around the edges. This oil separation is a traditional Indian cooking cue — it means the raw flavors have cooked out.
Blend the masala base. Turn off the heat and let the masala cool for 5-10 minutes. Transfer to a blender and blitz until completely smooth. If your blender is small, do this in two batches — hot liquid in a blender can be dangerous, so leave the lid slightly ajar and cover with a kitchen towel. Return the smooth masala to the pan over low heat.
Add the cashew cream and coconut milk. Pour in your prepared cashew cream and the full can of coconut milk. Stir gently to combine. The gravy will turn a gorgeous deep orange-peach color. Let it simmer on low heat for 5 minutes, stirring occasionally. Don’t let it boil hard — a gentle simmer is what you want.
Add your chosen protein or vegetables. If using pan-fried tofu, add it now. If using raw vegetables like cauliflower or potato, add them slightly earlier and cook until just tender before adding the coconut milk in the previous step. For chickpeas or cooked lentils, stir them in now. Give everything a gentle stir to coat in the gravy.
Finish and season. Add garam masala (always last!), jaggery or sugar, and salt. Stir and taste. Simmer for another 8-10 minutes on low heat until the gravy thickens slightly and coats everything beautifully. The consistency should be like a thick soup — pourable but not watery.
Garnish and serve. Finish with a generous handful of roughly chopped fresh cilantro. For special occasions, I also swirl a teaspoon of extra coconut cream on top and add a pinch of chili flakes — it looks absolutely beautiful and takes 30 seconds.
Here’s the beautiful part. Once you have the master base down, these 15 variations are mostly about adjusting your spice profile, protein choice, and the coconut milk to cashew cream ratio. I’ve grouped them by style.
For a vegan butter chicken or dal makhani style, increase the Kashmiri chili powder to 2 teaspoons for a deeper red color, add 1 teaspoon of smoked paprika, and use a 70/30 ratio of cashew cream to coconut milk. Blend a teaspoon of tamarind paste into the masala for that slight tang. Add pan-fried tofu, mushrooms, or black lentils as your main ingredient. Finish with a tiny drizzle of vegan butter if you have it — it adds a lovely gloss.
For a korma, reduce the chili powder to half a teaspoon, skip the tomatoes entirely, and replace them with half a cup of blended soaked almonds for extra body. Use a 50/50 cashew cream to coconut milk ratio. Add a pinch of cardamom and a small piece of cinnamon to the tempering. The result is pale, sweet, and fragrant — perfect with vegetables or tofu. I know purists will say a proper korma needs yogurt, but this version honestly won me over. The almond-cashew combination is luxurious.
For a saag (spinach curry), skip the blending step for the masala. Instead, cook the masala, then add 4 large handfuls of fresh spinach and blend the whole thing together until smooth and green. Return to the pan, add only the cashew cream (skip the coconut milk — it turns the saag an odd color), season well, and add your protein. This is the dairy-free Indian curry recipe that surprised me most — the cashew cream makes it taste richer than the original cream version.
For a chana masala, add a tablespoon of amchur (dry mango powder) and an extra teaspoon of coriander powder to the master base. Use only a quarter cup of cashew cream for a lighter body — chana masala is traditionally more tomato-forward than creamy. Two cans of drained chickpeas go in after blending. This is genuinely the first recipe I’d recommend to anyone new to cooking Indian food at home.
For a South Indian influenced version, temper with mustard seeds, curry leaves, and dried red chilies instead of cumin seeds. Skip the garam masala entirely. Add a second can of coconut milk for a much thinner, more soupy consistency. Use mixed vegetables — drumstick, raw banana, yam, or whatever you have. This is closer to a Kerala style curry and it is spectacular with rice and papadams.
For a Jain-friendly version of these vegan Indian curry recipes, skip the onion and garlic entirely. Replace the ginger-garlic paste with just ginger and a pinch of asafoetida (hing). Use cashew paste as the body for the gravy and increase the tomato quantity slightly. The result is different but genuinely delicious — and still completely Jain diet compliant. I make this version for my Jain in-laws during Paryushan and it goes down extremely well.
For gluten-free versions, check your asafoetida (some brands contain wheat flour) and use tamari instead of any soy sauce if it appears in your recipe. All other ingredients in this collection are naturally gluten-free.
All of these vegan Indian curry recipes store beautifully. Here’s what works:
Absolutely! Oat milk works surprisingly well in milder curries like korma. Almond milk is another option but it’s thinner, so use full-fat versions only. For richness without coconut flavor, cashew cream alone is excellent. Soy cream is widely available in Europe and works great too. I personally prefer the coconut milk and cashew cream combination because together they mimic the richness of heavy cream almost perfectly.
Pressed and pan-fried extra-firm tofu is hands down the best vegan paneer substitute. It has a similar mild flavor and absorbs the curry beautifully. You can also find store-bought vegan paneer made from cashews or soy at Indian grocery stores and online. Some people also use firm silken tofu for softer gravies. My personal favorite is tofu that’s been pressed overnight, cubed, and then air-fried or pan-fried until golden — it doesn’t fall apart in the gravy and has a texture surprisingly close to paneer.
The biggest mistake people make is not blooming their spices properly and not cooking the onion-tomato base long enough. Those two steps are non-negotiable. Also, always add garam masala at the END of cooking — it’s a finishing spice and its aromatics dissipate if added too early. A small pinch of sugar or jaggery at the end also brightens everything up. And please, use good quality whole spices where you can — even just cumin seeds and bay leaves at the start make a massive difference to the final flavor.
Yes! Cashew cream keeps in an airtight container in the fridge for up to 4 days. You can also freeze it in ice cube trays and use cubes as needed — just thaw before adding to your curry. I always make a double batch on Sunday and use it through the week for different curries. It also works as a base for vegan raita, vegan lassi, and even pasta sauces — so it’s very versatile.
Most traditional Indian curries are naturally gluten-free since they’re built on spices, onions, tomatoes, and legumes. Every recipe in this collection is gluten-free as long as you use certified gluten-free asafoetida (hing), which sometimes contains wheat flour as a filler. Always check your packaged spice blends. Serve with rice, gluten-free roti, or bajra bhakri to keep the whole meal gluten-free.