Restaurant-Style Vegetarian Malai Kofta
Vegetarian malai kofta is a showstopper of a dish, the kind that turns a Tuesday dinner into a celebration. Soft, crumbly vegetable and paneer dumplings sit in a velvety, mildly spiced cream sauce that tastes like it came straight from a restaurant kitchen.

It looks like a project, and it is a bit of a project, but every step is manageable. Once you taste the nutty, tomato-forward gravy and the crisp-edged koftas that melt in the middle, you will want to make it again.
What Makes This Malai Kofta So Good
The gravy is what gets me every time. Slow-cooked onions, cashews, and tomatoes get blended until silky, then simmered with cream and a pinch of dried fenugreek. It has a gentle warmth from whole spices, nothing sharp or intense.
The koftas are just as important. I use fresh paneer and boiled potato, so they stay soft inside, with bits of carrot and green bean for tiny pops of texture. They get a quick deep fry for that golden shell, and they hold together without turning into a paste in the sauce.
Ingredients

- For the koftas
- 200 g paneer, grated: fresh paneer gives the softest interior; use full-fat if you can.
- 2 medium potatoes (about 300 g), boiled and mashed: the binder that keeps koftas from falling apart.
- 1/4 cup finely chopped carrot: adds a whisper of sweetness and colour.
- 1/4 cup finely chopped green beans: I like the tiny, firm pieces they add.
- 1 green chilli, finely minced: heat level is mild; remove seeds for even less heat.
- 1 tsp grated ginger: fresh, not powder.
- 1/2 tsp garam masala
- 1/2 tsp salt
- 3 tbsp cornflour (cornstarch): this is the key to a crisp shell and a sturdy kofta.
- Oil for deep frying: a neutral oil with a high smoke point, like sunflower or vegetable.
- For the gravy
- 2 tbsp ghee or butter: ghee adds a restaurant aroma; butter works fine.
- 1 medium onion (about 150 g), sliced
- 1 tbsp ginger-garlic paste
- 3 medium tomatoes (about 300 g), roughly chopped
- 12 whole cashews: the secret behind that glossy, creamy body.
- 3 green cardamom pods
- 1 inch cinnamon stick
- 2 cloves
- 1/2 tsp cumin seeds
- 1/2 tsp turmeric powder
- 1/2 tsp Kashmiri red chilli powder: for colour and very gentle heat.
- 1/2 tsp garam masala
- 1/2 tsp salt, plus more to taste
- 1/2 tsp sugar: rounds out the acidity of the tomatoes.
- 1/4 cup heavy cream (plus a drizzle for serving)
- 1 tsp dried fenugreek leaves (kasuri methi), crushed between your palms: a little goes a long way, but do not skip it.
- 1 cup water
Variations / Substitutions
- Vegan: swap the paneer for firm tofu that has been pressed and crumbled. Use coconut cream instead of dairy cream and oil instead of ghee. The gravy will be slightly sweeter and just as creamy.
- Nut-free gravy: replace cashews with 2 tablespoons of melon seeds (magaz) or poppy seeds. Both give a smooth, thick body without any nutty taste.
- Baked koftas: for a lighter version, shape the koftas and bake at 400°F (200°C) on a greased tray for 15-18 minutes, turning once. They will be golden but less rich than fried ones.
- Add greens: a handful of spinach puree stirred into the gravy at the end makes it a vibrant palak-style sauce.
- For a similar creamy vegetarian gravy without the kofta shaping, try Paneer Butter Masala.
How to Make Vegetarian Malai Kofta
Step 1: Make the Kofta Mixture

In a large bowl, combine the 200 g grated paneer, the mashed potatoes, and all the kofta ingredients except the cornflour and oil. Mix with your hands until the vegetables are evenly speckled through the mix. Sprinkle the 3 tbsp cornflour over the top and work it in gently until the mixture can hold a ball shape without cracking, about 2 minutes of kneading.
The mixture should feel like soft dough, a little tacky but not wet. If it seems too loose, add another teaspoon of cornflour. Cover the bowl and let it rest for 10 minutes while you heat the oil; this gives the cornflour time to absorb moisture.
Step 2: Shape and Fry the Koftas

Heat about 2 inches of oil in a deep pan or wok over medium heat until it reaches 350°F (180°C). If you do not have a thermometer, drop a tiny piece of dough in; it should sizzle and rise quickly but not brown instantly. While the oil heats, divide the mixture into 12 equal portions and roll each into a smooth ball with no cracks.
Fry the koftas in batches of 4 or 5 so the oil does not drop temperature. Cook for 4 to 5 minutes, turning them often, until they are deep golden and the sizzling quiets down. Drain on paper towels and set aside.
Step 3: Cook the Gravy Base

Pour off all but 1 tablespoon of the oil from the pan, or use a fresh pan with 2 tbsp ghee or butter set over medium heat. Add the cardamom pods, cinnamon stick, cloves, and cumin seeds. Let them crackle for 30 seconds until you can smell them, then stir in the sliced onion. Cook, stirring often, for 7 to 8 minutes until the onion is soft and light brown at the edges.
Add the ginger-garlic paste and cook for another 1 minute until the raw smell disappears. Tip in the chopped tomatoes, cashews, turmeric, and Kashmiri chilli powder. Stir everything together and cook for 5 to 6 minutes, until the tomatoes break down completely and the oil starts to separate around the edges of the pan. The colour will deepen to a brick red.
Step 4: Blend the Gravy Smooth

Take the pan off the heat and let the mixture cool for 5 minutes. Pick out the cardamom pods, cinnamon, and cloves if you can spot them (a few pieces are fine, you will blend them anyway). Scrape everything into a blender jar, add 1/2 cup of water, and blend into the smoothest paste you can get. Stop once or twice to scrape down the sides.
Pour the puree through a medium-mesh strainer back into the same pan, pressing with a spatula to push all the liquid through. This extra step gives you that restaurant-smooth gravy with no graininess from the tomato seeds or cashew bits.
Step 5: Finish the Gravy and Slide in the Koftas

Set the strained gravy over low heat. Stir in the 1/2 tsp garam masala, 1/2 tsp salt, sugar, and the remaining 1/2 cup of water. Let it come to a gentle simmer and cook for 7 to 8 minutes, stirring now and then, until the gravy thickens enough to coat the back of a spoon. Stir in the crushed kasuri methi and the 1/4 cup cream, and simmer for 1 minute more.
Just before serving, gently slide the fried koftas into the hot gravy. Do not stir them too much or they might break. Let them warm through for about 2 minutes, then drizzle a little extra cream on top and serve right away while the koftas are still crisp outside and soft inside.
A Few Tips for Perfect Malai Kofta
- Grate the paneer while it is cold, straight from the fridge. It crumbles more easily and gives the koftas a fluffier texture.
- Chill the shaped koftas for 15 minutes: before frying if your kitchen is warm. Firm koftas are less likely to split open in the oil.
- Make the gravy a day ahead: and keep it in the fridge. The flavours meld overnight, and all you do is reheat it and drop in fresh koftas.
- Fry only one kofta as a test: first. If it cracks, add a bit more cornflour to the remaining mixture and check the oil temperature.
- The fenugreek leaves are not optional. They give the gravy that unmistakable restaurant warmth. You can find kasuri methi in most South Asian grocery shops.
Frying times for different methods:
| Method | Temperature / Setting | Time |
|---|---|---|
| Deep fry | 350°F (180°C) | 4-5 mins |
| Shallow fry | Medium heat | 3-4 mins per side |
| Bake | 400°F (200°C) | 15-18 mins, flip once |
Keeping and Reheating Leftovers
- Refrigerate: Store the gravy and koftas separately if you can. The gravy keeps well in a sealed container for up to 3 days. The koftas will soften over time but are still good. If they are together, they soak up more sauce and swell, but the taste stays lovely.
- Reheating: Warm the gravy gently on the hob, adding a splash of water if it has thickened too much. Add the koftas only at the end and let them heat through for 2-3 minutes. A microwave works too, just keep it low and stir carefully.
What to Serve With Vegetarian Malai Kofta
This dish needs very little else on the plate. Warm naan or flaky paratha is perfect for scooping up the gravy. If you prefer rice, plain steamed basmati or a lightly spiced jeera rice keeps the focus on the koftas. I like a quick kachumber salad on the side—finely chopped cucumber, onion, tomato, and a squeeze of lemon—to cut through the richness.
Frequently Asked Questions
Why did my koftas break open while frying?
Usually it is because the mixture was too wet or the oil was not hot enough. Make sure you do not skip the cornflour, and let the koftas chill for a few minutes before frying. Also, overcrowding the pan drops the oil temperature too much.
Can I freeze the koftas?
Yes. Fry them completely, let them cool, then freeze them on a tray in a single layer. Once solid, pop them into a freezer bag. You can add them directly to hot gravy from frozen; they just need an extra 3 to 4 minutes to warm through.
Is this gravy spicy?
Not really. The Kashmiri chilli powder and green chilli add a gentle warmth that most people find very mild. The creamy base and sugar balance any heat, so it is more fragrant than fiery.

Vegetarian Malai Kofta Recipe
Ingredients
Method
- Mix the grated paneer, mashed potato, carrot, beans, green chilli, ginger, garam masala, salt, and cornflour until a soft dough forms. Let it rest for 10 minutes.
- Shape the mixture into 12 smooth balls. Deep fry in 350°F (180°C) oil for 4-5 minutes until deep golden. Drain on paper towels.
- Heat ghee or butter, sizzle the whole spices and cumin seeds for 30 seconds, then cook the onion for 7-8 minutes until browned. Add ginger-garlic paste and cook 1 minute.
- Stir in the tomatoes, cashews, turmeric, and chilli powder. Cook for 5-6 minutes until the tomatoes break down and oil separates. Cool slightly, then blend with 1/2 cup water until smooth. Strain the puree back into the pan.
- Add the remaining garam masala, salt, sugar, and another 1/2 cup water. Simmer for 7-8 minutes until thickened. Stir in the cream and crushed fenugreek leaves, simmer 1 minute. Gently add the koftas, warm through for 2 minutes, and serve drizzled with extra cream.
