This easy vegan meatball curry has the most delicious, spicy tomato coconut sauce. Ladle it over a bowlful of cumin rice or scoop it up with vegan naan for a tasty and satisfying meal you'll remember long after you've licked every last bit up. A one-pot, gluten-free and soy-free recipe.

This deeply satisfying, one-pot dish is what I rustle up when I want a hearty, nourishing curry in a hurry and it never lets me down. Even Jay, my picky eater, goes back for second and third helpings of this Vegan Meatball Curry. It's that good.
I used south Indian flavors in this curry: curry leaves and coconut milk. I am not claiming any pedigree for it because it is completely my own invention and not from one part of India or the other. But the curry leaves and coconut milk give this sauce a standout individual flavor so distinct from other orange-sauce north Indian dishes you might be used to, like a vegan butter chicken or a vegan malai kofta curry (both dishes where you should never, ever use coconut milk).
This is also a deeply comforting curry. Imagine pouring a big ladleful of this creamy, silky sauce with plump, juicy vegan meatballs over a bowl of hot rice. Now imagine scooping up a bite with a big spoon and into your mouth. Can it get any better?
The vegan meatball curry is an easy recipe, and you can either use store-bought meatballs or use my vegan Indian kofta meatballs for more authentic flavor. The recipe takes no more than 30 minutes to make. What are you waiting for?
Top notch as always. Another family favorite. - Supriya

Steps and tips
- You can use any vegan meatballs you like--storebought or homemade. I have a few delicious vegan meatball recipes on the blog, with my favorite for this recipe being my vegan Indian kofta meatballs. For a leaner, healthier version use these vegan air fryer meatballs or these bean and oats meatballs I use to make my vegan barbeque meatballs. I've also tried this meatball curry with practically every storebought vegan meatball I can find around here, including Aldi's, TJ's and Beyond, and the verdict is always the same: delicious.
- If you use frozen homemade or store-bought meatballs, lightly spray the saucepan with oil and saute the meatballs first to heat them through. You can dispense with the oil and air-fry the meatballs or heat them up in the oven.
- The sauce for these meatballs couldn't be simpler. Sputter a few mustard seeds, some asafetida (optional, but asafetida adds umami so I recommend it) and curry leaves in the saucepan you used to pan-fry the meatballs (remove the meatballs to a plate first) . Blitz up tomatoes, onions, ginger and garlic.
- Slosh it all into the saucepan. Add powdered spices--turmeric, cayenne, paprika (for color) and ground coriander. Mix and let it cook down until most of the liquid has evaporated and the tomatoes and onions are darker.
- Stir in half the coconut milk with a cup of vegetable stock (or water). Let it come to a boil, then cook and cover the curry. The way to tell if a curry has reached its zenith is to monitor for small pools or specks of oily liquid that gather out at the top, usually in a darker color than the rest of the curry. This tells you that the fat has decided to go its own separate way after finishing its job of cooking the tomatoes and onions and other ingredients and making them as tasty as possible. Clever. It might take you a few curries to get this exactly right, but keep your eyes open and you'll get better at it. The other option, of course, is to taste and make sure nothing tastes raw, although that's not as perfect a science.
- Always thin out the curry to your liking. This curry should be thick enough to coat the meatballs. When you add water or vegetable stock, always check seasoning and ensure you have enough salt in there.
- Once the curry is cooked, turn the heat to low, add the remaining coconut milk and the garam masala. Stir it all in, garnish with coriander, and dinner is served.

What to serve with vegan meatball curry
- Cumin rice is wonderful with this meatball curry. I have an ultra-easy, no-fail recipe for Cumin Rice or Jeera Rice that you can make simultaneously with the curry if you're a clever multi-tasker, making sure it all gets ready at the same time. Or just serve with plain basmati rice. Brown rice is awesome too.
- Naan is amazing to scoop this curry up with. Try this vegan naan or this grilled naan. I even have a gluten-free naan recipe on the blog for anyone that's gf.
- Serve a vegan cucumber raita on the side. This recipe is soy-free as well.

Ingredients
- Vegan meatballs
- Vegetable oil
- Black mustard seeds
- Curry leaves
- Green chili peppers, like jalapeno or serrano, optional
- Asafetida (hing), optional
- Onion
- Ginger garlic paste
- Tomatoes
- Cayenne (or any red chili pepper powder)
- Paprika (optional, mainly for color)
- Turmeric
- Coriander powder
- Coconut milk (full fat, from a can)
- Salt to taste
- Cilantro
Love this vegan meatball curry? Check out more vegan curry recipes on Holy Cow!
Recipe card

Vegan Meatball Curry
Ingredients
- 2 teaspoon avocado oil or any neutral oil (divided)
- 24 vegan meatballs (approx)
- 1 medium onion (chopped)
- 3 medium tomatoes (chopped)
- 4 cloves garlic (chopped)
- 1-inch knob ginger (chopped)
- 1 teaspoon mustard seeds
- A generous pinch asafetida or hing
- 2 green chili peppers (slit down the middle, optional. If you don't want much heat skip these and simply use the cayenne)
- 2 sprigs curry leaves (coarsely chopped)
- 1 teaspoon cayenne (use less or more based on your preference and tolerance for heat)
- 2 teaspoon paprika (this is mainly for color, so skip if you don't want to use it)
- ½ teaspoon turmeric
- 1 heaping tbsp ground coriander
- 13.5 fl oz coconut milk (full fat, from the can, divided)
- 1-2 tablespoon garam masala
- Salt to taste
- 2 tablespoon cilantro (for garnish)
Instructions
- Heat 1 teaspoon of vegetable oil in saucepan. Add the meatballs to the pan in a single layer and brown them on all sides. Remove to a plate and set aside.
- While the meatballs are browning, blend the tomatoes, onions, ginger and garlic in the blender. Don't add any liquid to blend--there is enough liquid in the tomatoes and onions.
- To the saucepan where you browned the meatballs, add the remaning 1 teaspoon oil.
- Add the mustard seeds and asafetida and wait for the mustard to sputter.
- Add curry leaves and green chili peppers, if using. Stir-fry for a few seconds.
- Add the tomato onion paste and powdered spices--turmeric, cayenne, paprika, if using, and ground coriander. Mix well. Let the paste cook down until most of the liquid has evaporated and it's a few shades darker.
- Add half the coconut milk (stir the milk in the can first) and a cup of water. Bring to a boil and cover the pot. Let the sauce cook about 10 minutes or until you see specks of oil on the top. The sauce should not have a raw or bitter flavor.
- Lower the heat, add the garam masala and the remaining coconut milk. Check for salt.
- Place the meatballs in the curry sauce and turn around to coat. Let the coconut milk warm through and turn off the heat before it comes to a boil.
- Garnish with cilantro. Serve hot.
Notes
- Nutrition info is for a curry made using my vegan air fryer meatballs. The numbers will change based on the brand of recipe for vegan meatballs you use.
Nutrition Information
To print recipe card without images, uncheck "instruction images" after clicking the "print recipe" button.







Annie Reeves says
Hi, Nutritional Information ... based on what size serving?
Calories: 353kcal
Carbohydrates: 28g
Protein: 11g
Fat: 24g
Saturated Fat: 14g
Sodium: 15mg
Potassium: 351mg
Fiber: 8g
Sugar: 7g
Vitamin A: 1063IU
Vitamin C: 25mg
Calcium: 30mg
Iron: 3mg
Vaishali says
There are six servings of the recipe so the serving size is a sixth of the recipe. It can change if you vary the ingredients like the brand of meatballs used.
ML says
Just made this curry. Absolutely lovely. Thank you 🙂
Vaishali says
So great to hear! Thanks for letting me know. ❤️
Supriya says
Top notch as always. Another family favorite.
Vaishali says
So happy you made it, Supriya!❤️
Basia says
After reading your emails, and your recipes inspired me to cook. Not a week goes by where I make at least two or three of your recipes each week!
Vaishali says
Thanks for the lovely message, Basia. Appreciate it. ❤️
Diane Jay says
Bravo! I made the garlic naan bread, cumin rice, raita, and Meatball Curry. You are a star.
Vaishali says
What an awesome meal! So happy you enjoyed it. Thanks for letting me know, Diane! ❤️
Bob in Tennessee says
This looks terrific and I will definitely be trying it. Thanks for all your genius creations!
Vaishali says
Thanks for the kind words, Bob. 🙂 Hope you love the curry!