Full-flavored Curry Meatballs made with ground chicken, spinach and lots of aromatics. The pan-fried meatballs get finished with the creamiest and dreamiest coconut curry—you’ll want to drizzle this one everything. Inspired by traditional Indian Kofta Curry, this comforting dinner will will surprise you with it’s depth of flavor and nuance.

Easy Coconut Curry

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.

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.

Traditionally, meatball 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 all while being much more reasonable for a weeknight dinner.

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. (I also love canned coconut milk in Curried Carrot Soup.)

spinach, cilantro, tomato, ground chicken, spices, serrano, garlic, ginger, and oil set out on a counter

Ingredients Needed for This Recipe

  • 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). 
meatballs and a creamy curry sauce served over rice and topped with cilantro in a shallow white bowl

How to Make Curry Meatballs

  1. Heat oil in a pan then add the spices and cook until fragrant.
  1. Add the onions to the spiced oil and cook until softened. Add the ginger, garlic and serrano and cook briefly.
onions and spices cooking in a sauté pan
  1. Add the tomato and cook until starting to soften.
onions, spices and tomatoes cooking in a sauté pan
  1. Add half of the cilantro and turmeric then deglaze with vinegar.
onions, spices and tomatoes cooking in a sauté pan
  1. Transfer curry mixture to a blender and blend until smooth. 
  2. Mix some of the curry paste with the ground chicken, spinach and cilantro. Form the chicken mixture into meatballs (kofta). Add the chicken meatballs to a pan with oil and cook until golden brown. 
chicken and spinach meatballs cooking a sauté pan
  1. Add the coconut milk to the remaining curry paste and blend until smooth.
yellow curry sauce in a blender
  1. Add the curry to the pan with meatballs and simmer until meatballs are cooked through.
meatballs in a curry sauce in a sauté pan

Serving Suggestions

Traditionally, Meatball Curry is served with jeera rice, phulka (roti), or naan. Cilantro Lime Brown Rice with fresh slices of cucumber is also a great pairing.

As for rounding out the meal, I like to serve Indian meatballs with a bright and sweet fruit salad, try my Savory Citrus Salad or Grape Salad.

And if you’re looking for a drink to pair with this dinner, try something bright and citrusy like a Midori Cocktail or Tequila Smash.

meatballs and a creamy curry sauce served over rice and topped with cilantro in a shallow white bowl

Expert Tips

  • 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.
  • If you aren’t a fan of cilantro, you can use a combination of fresh mint and parsley.
  • Since the spinach is mixed into the meatballs, it’s important to finely chop the spinach.

More Curry Recipes to Try

Curry Meatballs Recipe

5 from 3 votes
Prep Time 15 minutes
Cook Time 35 minutes
Total Time 50 minutes
Yield 24 meatballs (4 servings)
Category Main Dish
Cuisine Indian-Inspired
Author Lauren Grant

Description

An easy and incredibly flavorful meatball curry dinner featuring tender chicken and spinach meatballs and a luscious creamy curry.

Ingredients

  • 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 (14.5-ounce) can coconut milk or 1 cup plain whole milk yogurt
  • Rice, jeera rice, naan, or roti for serving

Instructions

  • 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.

Notes

Storage: Store leftovers in an airtight container in the refrigerator for up to 4 days. Reheat gently on the stovetop in a skillet until warmed through. 
For longer storage, you can freeze the meatballs for up to 3 months. Thaw overnight in the refrigerator before reheating gently on the stovetop.
Substitutions: ghee can be used in place of coconut oil. Whole milk yogurt can be used in place of coconut milk.
If you aren’t a fan of cilantro, you can use a combination of fresh mint and parsley.
Ground pork, beef or turkey will all work here. 
Make Ahead: 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.
Since the spinach is mixed into the meatballs, it’s important to finely chop the spinach.

Nutrition

Serving: 4gCalories: 320kcalCarbohydrates: 8.5gProtein: 25.5gFat: 21gSaturated Fat: 15gSodium: 731mgFiber: 3gSugar: 4.5g
Like this? Leave a comment below!I love hearing from you and I want to hear how it went with this recipe! Leave a comment and rating below, then share on social media @zestfulkitchen and #zestfulkitchen!
a pan filled with meatballs and a curry sauce topped with cilantro

Pin This Recipe

Love this recipe and want to save it? Pin this recipe!

Pin This Recipe
Get our FREE 20-Recipe Digital Cookbook
Subscribe and receive our popular SOUP-er Simple digital cookbook with 20 soup recipes that require just 10 ingredients and are ready in 45 minutes or less.

Share it with the world

Pin

About The Author

Lauren Grant is a professional culinary food scientist, food writer, recipe developer, and food photographer. Lauren is a previous magazine editor and test kitchen developer and has had work published in major national publications including Diabetic Living Magazine, Midwest Living Magazine, Cuisine at Home Magazine, EatingWell.com, AmericasTestKitchen.com, and more.

Learn More

Leave a comment

Your email address will not be published. Required fields are marked *

How many stars would you give this recipe?