A full-flavored meatball curry featuring tender chicken and spinach meatballs and an ultra-creamy spiced curry. Inspired by traditional Indian Kofta Curry, this comforting dinner will will surprise you with it’s depth of flavor and nuance.
Table of Contents
Why This Recipe Works
This recipe is largely inspired by the classic Indian Meatball Curry dish known as Kofta Curry. I adapted some of the traditional methods and ingredients to create a recipe feasible and approachable for weeknight dinners.
Traditionally, kofta curry uses either ground chicken, ground beef or ground lamb. This recipe uses ground chicken but feel free to use beef or lamb if you prefer.
Additionally, most classic Indian curries use whole spices. Though I found even high-powered blenders couldn’t puree the sauce smooth enough and left little bits of cinnamon stick swimming around the curry. Because of that, I opted for ground spices which resulted in an equally as delicious dish without any undesirable bits.
And finally, many curries blend in desiccated coconut for flavor and body before finishing the sauce with whole milk yogurt. I found canned coconut milk hit two birds with one stone and made for a deliciously creamy sauce.
What is “Kofta”?
In India, Kofta means “meatball.” Generally speaking, India kofta are generally “anda” in shape or egg-shaped. I prefer to use a #40 scoop to portion the meat and drop the balls right into the pan. I don’t even both rolling them.
Ingredients in Kofta Curry
- Coconut oil: refined coconut oil is a flavorful high-heat cooking oil. extra-virgin coconut oil will also work, though it’s not a high-heat cooking oil. Because of that, you’ll need to keep an eye on the heat to avoid the oil from smoking.
- Ground spices: cardamom, cinnamon, cloves, and turmeric add lots of spicy warmth!
- Onion: you’ll need half of a large onion for this recipe. White or yellow work equally as well here.
- Aromatics: fresh garlic, ginger and green chilli (serrano) are all used. Find fresh ginger next to the garlic and shallots or in the refrigerated area of the produce section.
- Tomato: You’ll need a large fresh tomato or two fresh roma tomatoes. Tomato adds freshness, body and a bit of acidity.
- Cilantro: you can substitute half of the cilantro for mint if you like.
- White vinegar: just a splash is needed to balance out the warm spices and savory flavors.
- Ground chicken: I struggle to find 93% lean ground chicken, so this recipe was developed using 99% lean ground chicken. I recommend using 93% if you can find it.
- Spinach: fresh spinach is packed into the chicken meatballs which keeps them light and tender.
- Coconut milk: use full-fat canned coconut milk. If you’d prefer a lighter sauce, use 1 cup whole milk yogurt instead (it will add protein and less fat).
How to Make Kofta Curry
- Heat oil in a pan then add the spices and cook until fragrant.
- Add the onions to the spiced oil and cook until softened.
- Add the ginger, garlic and serrano and cook briefly then add the tomato and cook until starting to soften. Add half of the cilantro and turmeric then deglaze with vinegar.
- Transfer curry mixture to a blender and blend until smooth.
- Mix some of the curry paste with the ground chicken, spinach and cilantro. Form the chicken mixture into meatballs (kofta). Add the kofta to a pan with oil and cook until golden brown.
- Add the coconut milk to the remaining curry paste and blend until smooth.
- Add the curry to the pan with meatballs and simmer until meatballs are cooked through.
How to Serve Kofta Curry
Traditionally, Meatball Curry is served with jeera rice, phulka (roti), or naan. Here are some of my favorite recipes for each:
The curry paste can absolutely be made ahead. Store the homemade curry paste in an airtight container in the refrigerator for up to 3 days. Or, freeze the curry for up to 3 months.
You can use a combination of fresh mint and parsley.
Indian-Inspired Meatball Curry (Kofta Curry)
- 2 tablespoon coconut or vegetable oil divided
- ½ teaspoon ground cardamom
- ½ teaspoon ground cinnamon
- ½ teaspoon ground cloves
- 1 cup chopped onion (½ large onion)
- Kosher salt
- 1 tablespoon chopped garlic
- 1 tablespoon chopped ginger
- 1 serrano, chopped
- 1 large tomato, cut into chunks
- 1 cup chopped cilantro leaves and tender stems, divided + more for serving
- 1 teaspoon turmeric
- 1 tablespoon white vinegar
- 1 pound lean ground chicken
- 2 cups chopped spinach
- 1 can coconut milk or 1 cup plain whole milk yogurt
- Rice jeera rice, naan, or roti for serving
- Heat 1 tablespoon oil in a large sauté pan over medium.
- Add cardamom, cinnamon and cloves; cook 30 seconds. Add onion and 1 teaspoon kosher salt and cook, stirring frequently, until starting to soften, 4 minutes.
- Add garlic, ginger, and serrano; cook 2 minutes.
- Stir in tomato and cook 1 minute.
- Add ½ cup cilantro and turmeric and cook 3 minutes; deglaze with vinegar, scraping up any browned bits. Cook until evaporated then remove from heat.
- Transfer mixture to a blender and blend until smooth.
- Add 3 tablespoons curry paste to a large bowl with ground chicken, spinach, remaining ½ cup cilantro and ¼ teaspoon salt. Form into 24 meatballs using a #40 scoop or about 1 ½ tablespoons meat mixture per meatball.
- Heat remaining tablespoon oil in now-empty sauté pan over medium. Add meatballs in an even layer and cook until browned on all sides, about 10 minutes.
- Meanwhile, add coconut milk (or yogurt) to blender with remaining curry paste and blend until smooth.
- Add curry sauce to pan, bring to a low simmer and cook until meatballs are cooked through, 5–8 minutes.
- Season with salt to taste. Serve with cooked brown rice, jeera rice, phulka (roti), or naan and fresh cilantro.
- As written, this recipe is dairy free.
- Substitutions: ghee can be used in place of coconut oil. Whole milk yogurt can be used in place of coconut milk.