South Asian spiced curry chicken meatballs in a delicious and spicy curry sauce (gravy). Learn how to make the best, most authentic Sri Lankan meatball curry!
Why I created this recipe
When I moved to Sri Lanka as a little kid, I remember how much I looked forward to meal times when I knew meatball curry was on the menu. Specifically, the Keels meatball curry that was an easy meal for busy families or in my case, fussy eaters. I have a few curry recipes that are as nostalgic as this one. This meatball curry is truly etched in my memories. Since leaving Sri Lanka, I’ve been making my own version for decades now. The curry base remains the same, but the actual meatball is better, more juicy, and more flavorful than ever! Now, a quick note on terminology. In Sri Lanka, no one really calls a curry base “a sauce”. It’s called a curry gravy. Sauce is more of a condiment, while gravy is the liquid that comes WITH the curry.
Why I love this recipe
Unlike my childhood favorite, I make the meatballs from scratch for this curry. You can make the meatballs with any ground meat. I use chicken here, but it’s just as delicious with pork, lamb or beef (like these cocktail meatballs or Indonesian beef meatballs). The meatballs can be made ahead of time and frozen. Which means you can whip up this fantastic meatball curry any time. I make this curry with my own homemade Sri Lankan curry powder (thuna paha), but you can substitute this with garam masala for an Indian meatball curry (made with chicken). No more dry meatballs! The meatballs are SO GOOD on their own as well. So you could even serve these on their own as an appetizer. This meatball curry makes the juiciest and most flavorful meatballs! There is SO MUCH flavor in this dish. You can adjust the spice level to your preference. Add more chili powder to make it more spicy, or less (or none) for a milder curry.
Ingredients to make Sri Lankan chicken meatball curry
Here are the ingredients that I typically use, but I also provide substitutions here.
For the meatballs
Ground chicken – Preferably chicken with about 5 – 10% fat. This is what keeps the meat super juicy. But you can use lean meat too, and I’ll tell you how to make the meatballs later on in this post. You can also use beef, lamb, pork, or any ground meat for this recipe. Garlic Minced ginger Sri Lankan curry powder – I always use my own curry powder blend. You can find the recipe for my own Sri Lankan curry powder here. It’s an absolute powerhouse as far as spice blends go, and I use it to make all of my popular curry recipes from chicken curry to beef curry, lamb curry (mutton curry), fish curry, black pork curry etc. We call this “thuna paha” in Sinhalese. Black pepper and cayenne pepper – For heat. Can be left out if you prefer. Cilantro roots or stems – This is something I picked up from Thai cuisine and now incorporate into my dishes sometimes. Cilantro roots have a wonderful taste that is more subtle and more earthy than cilantro leaves. So even those who don’t particularly care for the cilantro flavor, do find the cilantro root flavor more palatable. Also, it’s a great use for those stems and roots that you usually discard. Cornstarch – The starch that acts as a binder for the meatballs. Fat – If you use lean meat, you will need to add some fat to the meatballs. You can leave this out too, but the meatballs will dry out more without the fat content.
For the curry base
Onion, ginger, and garlic – the holy trinity for a good curry. Curry powder – I use my own Sri Lankan spice blend for this, and you can find my recipe for curry powder here. Ground coriander Cayenne pepper or kashmiri chili powder – Adjust this to your taste. We like it spicy, but I’ve adjusted the recipe to what is mild to us. So make sure to change the quantity to suit your tastebuds. Coconut milk – Depending on when you add the coconut milk, you can either get a super creamy curry, or a curry where the coconut flavor is also intensified. I prefer the second, but the first is also a good choice if you prefer a creamier curry. Lime – The acidity of lime juice helps perk up all the spices and flavors in this curry.
Ingredient substitutions
Chicken – You can use any ground meat. But make sure there is some fat content in the meat so that the meatballs will not be dry and crumbly. If you can only find lean meat, you can ADD some fat to the meatball mixture. I have tried beef and pork meatballs, and they are all delicious! Cilantro – There is no real substitution for the cilantro roots in this recipe. If you do happen to have the genetic trait where you find cilantro leaves “soapy”, then you can leave it out, or add 1 tsp ground coriander powder. Do not substitute with parsley, as the flavors will be very different. Sri Lankan curry powder – You can find this in many South Asian grocery stores, but I personally prefer my homemade version more than any store-bought curry powder. You can also use madras curry powder if that’s easier to find. To turn it into an Indian meatball curry, just substitute the curry powder with garam masala for both the meatballs AND the curry base. Coconut milk – You can make this without coconut milk if you prefer. I do prefer it WITH coconut milk, but it can be made without as well. The curry gravy will be less thick without the coconut milk. Cornstarch – You can use potato starch instead of cornstarch. You can also use 2 tbsp coarse breadcrumbs instead, but the meatballs will no longer be gluten free then. I also prefer the texture of the meatballs with the starch, instead of breadcrumbs.
How to make chicken meatball curry
The first step is to make the meatball mix
Mince the garlic, ginger, and cilantro roots. This can be done together or separately. Then have the rest of the ingredients measured and ready to go. In a large bowl, place the ground chicken. If you’re using lean meat, add the fat as well. The fat can be a neutral oil or lard. I prefer using duck fat or lard, but you can use what you have at hand. Also add the ginger, garlic, and cilantro, along with the curry powder, cornstarch, and a generous amount of salt. Mix these ingredients well. I prefer to use a spoon or my hand, and mix the ingredients in one direction. The chicken should become stringy and sticky – like dumpling filling. This sticky filling is key to making a cohesive meatball, that doesn’t crumble when bitten into. If you don’t want to use your hands to mix this, OR if you’re making a bigger batch, you can absolutely use a food processor to mix these ingredients together and still get a nice and sticky mixture. Once the mix is made, you can cover and let it chill for about 20 – 30 minutes to marinate and to make it easier to handle. The meatball mix then needs to be portioned and made into evenly-sized meatballs. To do this, I use a 3 tbsp ice cream scoop or cookie scoop to portion the meat evenly. You can also use any other type of spoon. Take the portioned meat and gently form a ball by rolling it in your palms and then place it on a prepared and lined (with wax paper or parchment paper or plastic wrap) plate or baking tray. Once you have portioned and shaped all the meatballs, they can either be cooked right away or frozen for another day.
How to cook the chicken meatballs for the curry
You can cook the curry flavored chicken meatballs either on the stove or in the oven. I personally prefer cooking them on the stove, but for bigger batches and for convenience, the oven works well too.
Stove top instructions
Heat a large 12 inch nonstick pan over medium-high heat. Heat 2 – 3 tbsp of oil. When the oil is hot, arrange the meatballs in one layer on the pan. Make sure the pan is not overcrowded, as you want the meatballs to get a nice caramelization on all sides. Cook the meatballs, flipping them once or twice. Make sure to get a nice caramelized crust on at least two sides of your chicken meatballs. That caramelized bits are where the flavor is! Don’t worry if the meatballs are not cooked all the way through at this stage, since they will be cooked further in the curry next. Repeat with the rest of the meatballs and then let the meatballs rest. DO NOT discard any juice/liquid in the pan (that’s not burnt!).
Oven instructions
Preheat the oven to 400 F / 204 C. Line a half sheet baking tray with parchment paper and place the meatballs on it about 1 – 1.5 inches apart. Bake the meatballs in the oven for about 15 – 20 minutes, flipping them once halfway through, to get nice coloration on the meatballs. Then remove the meatballs from the oven and let them rest. It is OK if they are not cooked through at this stage, IF you’re going to cook them in the curry next.
Making the curry base
For this Sri Lankan meatball curry, we’ll be making the curry base first, before adding the chicken meatballs to finish cooking them in the gravy. Place the garlic, ginger, red (or green) chili, and onion in a small blender and blend until smooth. Alternatively, you can finely chop all these ingredients as well. Preheat about 1 – 2 tbsp of oil in a large pot, and add the blended or finely chopped garlic-ginger mix. Cook this mix until you start to get a little bit of color in the onions. Then add the curry powder, coriander powder, chili powder, and some salt, and sauté for about 30 – 60 seconds.
Adding liquid
IF you’d like a CREAMY curry, add about 3/4 cup of water to the curry base and bring it to a simmer. However, if you like the type of curry where you still have coconut flavor, but it’s NOT creamy, then add the coconut milk and a little water here and bring it to a simmer.
When the liquid comes to a simmer, add the meatballs to the curry base. Gently mix them through and let the curry simmer for about 15 – 20 minutes. Keep the pot uncovered if you want less gravy that is also thicker, OR keep it covered if you prefer more gravy. I like my gravy to be thicker, so I simmer my chicken meatball curry without the lid.
It’s a technique that is used in south Asian and south east Asian cooking. In Sinhalese, it’s referred to as “thel paadenawa”.
For a creamy curry
Add the coconut milk during the last 5 minutes. Stir it in and bring it to a simmer. Then let it simmer for about 3 – 5 minutes. The curry is now done! Sprinkle some chopped cilantro on top and it’s ready to be served!
Serving suggestions
Steamed basmati rice Spiced rice Sri Lankan pol roti Roti canai Naan Any type of flatbread With hot dog buns (like this curry chicken meatball sandwich!)
Storage instructions
If you’d like to make the meatballs ahead of time and freeze, you can absolutely do that! But make sure the meatballs are cooked well before you store them in the freezer. The internal temperature should register 165 F. To store cooked meatballs in the freezer, place the cooked chicken meatballs on a lined baking sheet and let them freeze for a few hours. Then transfer the meatballs into a freezer bag or an air-right, freezer-friendly container. These can be frozen for up to 4 months. To thaw cooked meatballs, place them in the fridge overnight to thaw out, OR you can also add the frozen meatballs straight into the curry base. However, if you’re letting them thaw out in the curry, you will need to let them cook gently (on low heat) for longer, with the lid on. Raw meatballs can also be stored the same way, but they need to be thawed out in the fridge first. Then they can be cooked on the stove or oven before being added to the curry to cook further in the curry base. The cooked Sri Lankan chicken meatball curry can be stored in the freezer for up to 3 months as well. Just portion it into freezer-friendly containers and freeze. You can even add some rice to the containers along with the meatballs and freeze these as a meal planning option.
Recipe tips for the best chicken meatball curry
The number one tip for making the juiciest meatballs is to make sure the meatballs have some fat in ’em. Lean meat is fine, but you do risk dry crumbly meatballs. Mix the meatball mix until it’s sticky! This will also help the meatballs keep their shape. The meatballs will hold together and not crumble as you eat them. A good curry powder! Please do not use European curry powders or supermarket brands, that simply don’t use the right spices. Find a good Sri Lankan curry powder, or a Madras curry powder from a South Asian store. If not, use garam masala instead. However, I guarantee, a good homemade Sri Lankan curry powder will be better than any curry powder out there. When shaping the meatballs, make sure to wet your hands and the spoon, so that the meat doesn’t stick to your hands and utensils. Using a scoop will also ensure that each meatball is evenly sized. To know if you added enough salt to the meatball mix, cook a small portion of the meatball on a pan and taste it for yourself. If there isn’t enough seasoning, you can mix in some salt and taste again until the seasoning is to your liking.