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 on everything. Inspired by traditional Indian Kofta Curry, this comforting dinner will surprise you with its 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 bother rolling them.

Traditionally, meatball curry uses either ground chicken, ground beef or ground lamb. I like ground chicken here, but feel free to use beef or lamb. 

Additionally, most classic Indian curries use whole spices. Though I found even high-powered blenders couldn’t purée 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 delicious dish (without any undesirable bits) while being much more feasible 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 soups, like my 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 sauté pan or skillet, 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 the 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 be made ahead of time. 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 it so the meatballs stay intact.

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.

Save This Recipe!

We’ll email this post to you, so you can come back to it later.

Ingredients

  • 2 tablespoons coconut or vegetable oil divided
  • 1 teaspoon dried ground turmeric
  • ½ teaspoon ground cardamom
  • ½ teaspoon ground cinnamon
  • ½ teaspoon ground cloves
  • 1 medium yellow or white onion, chopped
  • Kosher salt
  • 1 tablespoon chopped garlic
  • 1 tablespoon chopped ginger
  • 1 serrano, chopped
  • 1 large tomato (or two roma tomatoes), cut into chunks
  • 1 cup chopped cilantro leaves and tender stems, divided + more for serving
  • 1 tablespoon white vinegar
  • 1 pound 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 1 teaspoon turmeric, ½ teaspoon cardamom, ½ teaspoon cinnamon and ½ teaspoon cloves; cook 30 seconds. Add 1 chopped onion and 1 teaspoon kosher salt and cook, stirring frequently, until starting to soften, 4 minutes.
  • Add 1 tablespoon garlic, 1 tablespoon ginger, and 1 chopped serrano; cook 2 minutes.
  • Stir in 1 diced tomato and cook 1 minute.
  • Add ½ cup cilantro and cook 3 minutes; deglaze with 1 tablespoon vinegar, scraping up any browned bits. Cook until evaporated then remove from heat.
  • Transfer mixture to a blender and blend until a smooth curry paste is formed.
  • Add 3 tablespoons curry paste to a large bowl with ground 1 pound chicken, 2 cups chopped 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 1 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 (you may need to do this in batches to avoid crowding the pan).
  • Meanwhile, add 1 can coconut milk (or 1 cup yogurt) to blender with remaining curry paste and blend until smooth.
  • Add curry sauce to pan with meatballs, 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
5 from 3 votes (3 ratings without comment)

Leave a comment

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

How many stars would you give this recipe?