Butter Chicken Meatballs
This post may contain affiliate links. Please read my disclosure policy.
Butter Chicken Meatballs – juicy, flavorful meatballs swimming in a creamy, spiced sauce. Your new favorite twist on classic Butter Chicken!

A Meatball Worth Counting Down to
These Butter Chicken Meatballs are swimming in a rich, creamy, mildly spiced tomato gravy that’s just fancy enough to feel like a treat, but still low effort enough for a Tuesday. I look forward to dinner all day when these are on the menu, and I definitely keep tabs on the leftovers, because they somehow taste even better the next day. I’ve served these for weeknights, dinner guests, and solo taste testing sessions over the stove with a spoon in one hand and naan in the other. No shame.
I’ve made these a bunch of ways, but here’s what really makes them shine: grating the onion so it melts right into the meatballs (no weird chunks), a good dose of garam masala for that deep, warm spice, and searing them just enough so they hold their shape but stay tender. And the sauce? It’s all about balance, just enough cream to make it silky, but not so much that it dulls the spice. It’s cozy, comforting, and honestly one of those recipes I find myself craving before I’ve even finished the last batch.

Why You’ll Love This Recipe
- All the Butter Chicken Vibes: Same cozy, creamy sauce you love, but paired with juicy meatballs instead of chunks of chicken.
- Weeknight-Friendly, Dinner-Party Approved: Comes together in under an hour, but looks (and tastes) like you spent all day.
- One Pan Wonder: Less mess, more flavor. Everything cooks in the same skillet, and that means fewer dishes to wash. You’re welcome.
- Leftovers That Deserve a Standing Ovation: The flavors only get better overnight, so tomorrow’s lunch might steal the spotlight.
- Freezer Gold: Make a double batch, stash half away, and future you will be very grateful.
Absolutely delicious!! I baked the meatballs the day before and the next day completed the rest of the steps. I didn’t have heavy cream so I used evaporated milk which was a nice consistency. I served it up with naan and rice! Yummy. It was a hit with my whole family so this is going on my dinner roster. ~Karen

Start by grating your onion, yes, grate it. Toss it into a bowl with the breadcrumbs and let it sit for a couple of minutes to soften up. Then add the ground chicken, egg, garam masala, chopped cilantro, salt, and pepper. Mix it all up with your hands or a fork. If it’s a little sticky, that’s normal, just dampen your hands and carry on.

Scoop about 2 tablespoons of mixture per meatball and roll into balls. You’ll end up with around 20. Try to keep them roughly the same size so they cook evenly. No need for perfection here, we’re not auditioning for a cooking show.

Heat a bit of olive oil in a large skillet over medium-high heat. Add the meatballs in batches (don’t crowd the pan!) and sear them for 2–3 minutes per side until browned all over. They don’t need to be fully cooked yet, we’re just building flavor. Once browned, set them aside on a plate.

In the same skillet (yes, leave those browned bits in the pan), melt the butter, then add the garlic and ginger. Sauté for about a minute, just until everything smells amazing. Stir in the passata, tomato paste, garam masala, paprika, turmeric, cumin, coriander, and chicken broth. Bring it all to a simmer and let it bubble gently for about 10 minutes until it starts to thicken slightly.

Once the sauce has thickened a bit, stir in the cream and give it a taste, add salt if needed. Nestle the meatballs back into the skillet and let them simmer for another 5 minutes or so, just until they’re cooked through and soaked in all that flavor.
Turn off the heat, sprinkle with a little extra cilantro, and serve hot with rice, naan, or straight from the skillet if no one’s watching.

Serving Suggestions
Here are a few sides I like to serve these with:
Basmati Rice
Easy Homemade Naan
Chickpea Salad
Baked Breaded Cauliflower
Frequently Asked Questions
Can I make these ahead of time?
Yes! You can prep the meatballs earlier in the day and keep them in the fridge until you’re ready to cook. You can even brown them and refrigerate overnight, just warm them in the sauce when you’re ready to eat.
Can I freeze them?
Definitely. I like to freeze the meatballs and sauce separately for best texture. Freeze the browned (but not fully cooked) meatballs on a baking sheet first, then transfer to a freezer bag. Sauce goes in a separate container. Both keep well for up to 3 months. Thaw overnight in the fridge, then finish cooking in the sauce.
What can I use instead of garam masala?
Garam masala’s the real star here, but if you’re in a pinch, try a mild curry powder or ras el hanout.
Can I use turkey instead of chicken?
Absolutely. Ground turkey works just as well. Just avoid the super lean stuff or your meatballs might end up a little dry.
Is this recipe spicy?
Not really. The spices are warming and aromatic, but not hot. If you want heat, feel free to add a pinch of cayenne or red pepper flakes to the sauce.
How do I reheat leftovers?
Microwave is the fastest, just cover the dish to avoid tomato sauce splatter. Or reheat gently in a skillet over medium heat with a splash of water or broth if the sauce has thickened up too much.
absolutely packed with flavor. not hard to make. and so incredibly delicious!! the sauce is everything a butter chicken sauce should be, and the meatballs are everything a meatball should be. top notch! ~amber

Other Great Recipes To Try
- Instant Pot Butter Chicken
- Instant Pot Chicken Tikka Masala
- Baked Tandoori Chicken
- Chicken Korma
- French Onion Chicken Meatballs
- Thai Chicken Meatballs with Peanut Sauce
- Turkey Meatballs
- Butter Chicken
- Korean Meatballs
- Creamy Butter Lemon Chicken
Originally shared June 2020. Updated with new tips, clearer instructions and video.
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.

Butter Chicken Meatballs
Video
Ingredients
For the meatballs
- ½ onion (grated)
- ½ cup panko breadcrumbs
- 1½ pounds ground chicken
- 1 egg
- 2 teaspoon garam masala
- 2 tablespoon cilantro (freshly chopped)
- 1 teaspoon salt (or to taste)
- 1 teaspoon pepper (or to taste)
- 1 tablespoon olive oil (for frying the meatballs)
Butter chicken sauce
- ¼ cup butter (unsalted)
- 5 cloves garlic (minced)
- 2 teaspoon ginger (minced)
- 1 cup tomato passata (or tomato sauce)
- 2 tablespoons tomato paste
- 1 tablespoon garam masala
- 1 tablespoon smoked paprika
- 1 teaspoon turmeric
- 1 teaspoon cumin (ground)
- 1 teaspoon coriander (ground)
- 1 cup chicken broth (low sodium)
- 1 cup heavy cream
- 1 tablespoon cilantro (freshly chopped)
Before You Begin! If you make this, please leave a review and rating letting us know how you liked this recipe! This helps our business thrive & continue providing free recipes.
Instructions
- Mix the onion and breadcrumbs together in a large mixing bowl. Let the mixture sit for 2-3 minutes. Add the rest of the meatball ingredients, excluding the oil, to the bowl. Mix everything together well.
- Using 2 tbsp at a time, depending how large you'd like them, form the mixture into meatballs. Dip your hands in water if you find the mixture it getting sticky.
- Heat the olive oil in a large skillet over medium-high heat. Add the meatballs, working in batches if needed. Cook for 2-3 minutes per side until well browned. Transfer the cooked meatballs to a plate and set aside.
- Add the butter to the skillet. Once melted, stir in the garlic and ginger, then cook for 1 minute. Add the passata, tomato paste, garam masala, smoked paprika, turmeric, cumin, coriander, and chicken broth.
- Stir everything together and bring the sauce to a boil, then reduce to a simmer. Let the sauce cook for 10 minutes, or until slightly thickens. Stir in the cream.
- Add the meatballs back to the skillet and let them simmer in the sauce for 5 minutes to heat through. Turn off the heat, garnish with cilantro, and serve.
Notes
- Onion Tip: Grating the onion into the meatball mixture helps it blend in completely, no big chunks, just flavor.
- Spice Swap: No garam masala? Try curry powder or make your own with my homemade blend.
- Make Ahead: You can roll and brown the meatballs ahead of time. Store in the fridge and reheat in the sauce when ready to serve.
- Freezer-Friendly: Freeze meatballs and sauce separately.
- Don’t Skip the Sear: Browning the meatballs adds extra flavor and helps them hold together in the sauce.
Nutrition Information
Notice: Nutrition is auto-calculated for your convenience. Where relevant, we recommend using your own nutrition calculations.

