This easy vegan meatball curry has the most addictive, spicy tomato coconut sauce. Ladle it over a bowlful of cumin rice or scoop it up with a 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?
YES!! You don't have to imagine-- you could actually be in your kitchen, right now, making it and eating it before the clock has added on another 30 minutes. What are you waiting for?
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, including these vegan air fryer meatballs I shared with you recently or these bean and oats meatballs I use to make my vegan barbeque meatballs. I've tried it 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.
- You will need to pan-fry the meatballs first for this recipe, even if they're already baked or cooked. If you use something like Beyond, where the meatballs already have fat that will render, you can lightly spray the saucepan with oil before sauteing the meatballs. If you use something homemade, that has very little oil, add about a tablespoon or so to the pan to brown them. If you want to go oil-free with the meatballs you can also just warm them up on a baking sheet in the oven. The pan-fried meatballs with brown spots taste awesome, though, and they hold up better in the curry.
- 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 this meatball curry
- Cumin rice is wonderful with this. I have an ultra-easy, no-fail, 15-minute 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 use plain rice if you'd rather not go to the trouble. Brown rice is awesome here too.
- Naan is amazing to scoop this curry up with. Try this vegan garlic naan or this grilled naan. I even have a gluten-free naan for anyone that's gf.
- Serve a vegan cucumber raita on the side. This recipe is soy-free as well.
- Vegan meatballs
- Vegetable oil
- Black mustard seeds
- Curry leaves
- Green chili peppers, like jalapeno or serrano, optional
- Asafetida (hing), optional
- Ginger garlic paste
- Cayenne (or any red chili pepper powder)
- Paprika (optional, mainly for color)
- Coriander powder
- Coconut milk (full fat, from a can)
- Salt to taste
Vegan Meatball Curry
- Large, wide saucepan
- 2 teaspoon vegetable 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
- 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)
- 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.
- Nutrition info is for a curry made using my vegan air fryer meatballs. The numbers swill change based on the brand of recipe for vegan meatballs you use.
Love this vegan meatball curry? Check out more vegan curry recipes on Holy Cow!