Baked Keto Butter Chicken Meatballs
Jump to...
Introduction
Butter chicken already has one very important thing going for it: the sauce. So, naturally, we went looking for another excuse to make something we could cover in it.
These keto butter chicken meatballs take those warm, buttery, tomato-and-spice flavors and put them over baked chicken meatballs instead of the usual pieces of chicken. Once the meatballs are under the sauce, the whole thing makes a lot of sense.
There is a practical reason to like this version too. Instead of standing over the stove browning meatballs in batches, they go into one dish and bake while you make the sauce. Two things, one of which you are not really doing.
Why Pork Rinds Instead of Breadcrumbs
The crushed pork rinds are probably the ingredient that makes you stop for a second.
They take the place of breadcrumbs, which matters more than it might sound like. Ground chicken is soft and wet, and without something to hold it together you get meatballs that slump into vaguely meatball-adjacent shapes in the oven. The rinds soak up that moisture and give the mixture enough structure to stay round.
Crush them fine. Large shards do not disappear during baking, and you will find them later. Our guide to pork rinds on keto goes into how the grind changes what they do, and what to check on the bag before you buy.
The rest of the meatball is deliberately plain: ground chicken, garlic, ginger, salt, pepper. There is already a lot going on in the sauce, so the meatballs do not need their own tiny spice cabinet.
Ground Chicken or Ground Turkey
Either one works — this recipe was written for both, so it is a straight swap with nothing else to change.
Ground chicken keeps the name honest, which is the only real argument for it. Pick whichever is in the freezer.
Baking Them Is the Whole Trick
The nice thing about this method is what you skip: turning soft ground-chicken meatballs over in a skillet, a few at a time, hoping they hold together. Shape them, put them in a greased 9x13, and let the oven deal with it.
One thing worth knowing before you start — browning is not a doneness signal here. Ground chicken can look convincingly done on the outside well before the middle catches up, so go by temperature: they are done when one from the middle of the dish reads 165°F on a thermometer; the ones around the edges run ahead.
Building the Sauce
This is the part that earns the name.
Onion goes into the butter first and softens, then the garlic, ginger, curry powder, garam masala, and tomato paste all go in together for about thirty seconds. That half minute is doing real work — it takes the raw edge off the tomato paste and wakes the spices up in the fat. Then the coconut milk goes in and turns all of it into sauce.
Cayenne is your main heat control. Curry powder and garam masala lean warm and aromatic rather than hot, though plenty of blends carry a little pepper of their own, so leaving the cayenne out gets you a mild sauce rather than a completely tame one.
For thickness, give it time rather than a thickener. What simmers off is water, and the sauce keeps tightening while it rests, which is why it sits for a few minutes before it goes over the meatballs. This is written for a full-fat can; a light one has more water and less fat, so it takes longer to cook down and what you are left with is thinner and less rich.
Baked Keto Butter Chicken Meatballs
Ingredients
For the Meatballs
- 2 lbs ground chicken, or ground turkey
- 1 cup pork rinds, crushed into fine crumbs
- 2 tsp garlic, minced
- 2 tsp ginger paste
- A pinch of salt, to taste
- A pinch of pepper, black, to taste
For the Butter Chicken Sauce
- 2 tbsp butter, unsalted
- ½ onion, chopped
- 2 tsp garlic, minced
- 2 tsp ginger paste
- 1 tbsp curry powder
- 1 ½ tbsp garam masala
- 2 tbsp tomato paste
- 13 ½ fl oz coconut milk, unsweetened, one 13.5 oz can, full fat
- A pinch of pepper, cayenne, to taste
- A pinch of salt, to taste
Nutrition Facts
6 servings per recipe| Per Serving 420 | Per Recipe 2550 | |||
| 2 lbs of ground chicken | 216 | 1295.98 | ||
| 1 cup of pork rinds | 26.67 | 160 | ||
| 2 tsp of garlic, minced | 1.67 | 10 | ||
| 2 tsp of ginger paste | 3.33 | 20 | ||
| 2 tbsp of butter, unsalted | 33.33 | 200 | ||
| ½ onion | 8 | 48 | ||
| 2 tsp of garlic, minced | 1.67 | 10 | ||
| 2 tsp of ginger paste | 3.33 | 20 | ||
| 1 tbsp of curry powder | 3.5 | 21 | ||
| 1 ½ tbsp of garam masala | 5.25 | 31.5 | ||
| 2 tbsp of tomato paste | 5 | 30 | ||
| 13 ½ fl oz of coconut milk, unsweetened | 116.45 | 698.67 | ||
| 30g | 38% | 179g | 230% | |
| 2 lbs of ground chicken | 12.15 g | 72.9 g | ||
| 1 cup of pork rinds | 2 g | 12 g | ||
| 2 tbsp of butter, unsalted | 3.67 g | 22 g | ||
| ½ onion | 0.02 g | 0.12 g | ||
| 1 tbsp of curry powder | 0.15 g | 0.9 g | ||
| 1 ½ tbsp of garam masala | 0.23 g | 1.35 g | ||
| 13 ½ fl oz of coconut milk, unsweetened | 11.64 g | 69.87 g | ||
| 17g | 83% | 99g | 497% | |
| 2 lbs of ground chicken | 2.7 g | 16.2 g | ||
| 1 cup of pork rinds | 0.67 g | 4 g | ||
| 2 tbsp of butter, unsalted | 2.33 g | 14 g | ||
| ½ onion | 0.01 g | 0.05 g | ||
| 1 tbsp of curry powder | 0.03 g | 0.15 g | ||
| 1 ½ tbsp of garam masala | 0.04 g | 0.23 g | ||
| 13 ½ fl oz of coconut milk, unsweetened | 10.81 g | 64.88 g | ||
| Trans Fat | 0g | 0% | 0g | 0% |
| 155mg | 52% | 930mg | 310% | |
| 2 lbs of ground chicken | 141.75 mg | 850.49 mg | ||
| 1 cup of pork rinds | 3.33 mg | 20 mg | ||
| 2 tbsp of butter, unsalted | 10 mg | 60 mg | ||
| 210mg | 9% | 1270mg | 55% | |
| 2 lbs of ground chicken | 141.75 mg | 850.49 mg | ||
| 1 cup of pork rinds | 50 mg | 300 mg | ||
| 2 tsp of garlic, minced | 0.33 mg | 2 mg | ||
| ½ onion | 0.8 mg | 4.8 mg | ||
| 2 tsp of garlic, minced | 0.33 mg | 2 mg | ||
| 1 tbsp of curry powder | 0.5 mg | 3 mg | ||
| 1 ½ tbsp of garam masala | 1.5 mg | 9 mg | ||
| 2 tbsp of tomato paste | 3.33 mg | 20 mg | ||
| 13 ½ fl oz of coconut milk, unsweetened | 12.48 mg | 74.86 mg | ||
| 8g | 3% | 48g | 17% | |
| 2 tsp of garlic, minced | 0.43 g | 2.6 g | ||
| 2 tsp of ginger paste | 0.67 g | 4 g | ||
| ½ onion | 1.75 g | 10.5 g | ||
| 2 tsp of garlic, minced | 0.43 g | 2.6 g | ||
| 2 tsp of ginger paste | 0.67 g | 4 g | ||
| 1 tbsp of curry powder | 0.5 g | 3 g | ||
| 1 ½ tbsp of garam masala | 0.9 g | 5.4 g | ||
| 2 tbsp of tomato paste | 1 g | 6 g | ||
| 13 ½ fl oz of coconut milk, unsweetened | 1.66 g | 9.98 g | ||
| 1g | 5% | 8g | 30% | |
| 2 tsp of garlic, minced | 0.03 g | 0.2 g | ||
| ½ onion | 0.35 g | 2.1 g | ||
| 2 tsp of garlic, minced | 0.03 g | 0.2 g | ||
| 1 tbsp of curry powder | 0.35 g | 2.1 g | ||
| 1 ½ tbsp of garam masala | 0.45 g | 2.7 g | ||
| 2 tbsp of tomato paste | 0.17 g | 1 g | ||
| 1g | 9g | |||
| ½ onion | 0.85 g | 5.09 g | ||
| 1 tbsp of curry powder | 0.05 g | 0.3 g | ||
| 1 ½ tbsp of garam masala | 0.08 g | 0.45 g | ||
| 2 tbsp of tomato paste | 0.5 g | 3 g | ||
| Sugar Alcohols | 0g | 0% | 0g | 0% |
| Allulose | 0g | 0% | 0g | 0% |
| 7g | 40g | |||
| 2 tsp of garlic, minced | 0.4 g | 2.4 g | ||
| 2 tsp of ginger paste | 0.67 g | 4 g | ||
| ½ onion | 1.4 g | 8.4 g | ||
| 2 tsp of garlic, minced | 0.4 g | 2.4 g | ||
| 2 tsp of ginger paste | 0.67 g | 4 g | ||
| 1 tbsp of curry powder | 0.15 g | 0.9 g | ||
| 1 ½ tbsp of garam masala | 0.45 g | 2.7 g | ||
| 2 tbsp of tomato paste | 0.83 g | 5 g | ||
| 13 ½ fl oz of coconut milk, unsweetened | 1.66 g | 9.98 g | ||
| 34g | 69% | 206g | 412% | |
| 2 lbs of ground chicken | 29.7 g | 178.2 g | ||
| 1 cup of pork rinds | 2.67 g | 16 g | ||
| 2 tsp of garlic, minced | 0.1 g | 0.6 g | ||
| ½ onion | 0.22 g | 1.32 g | ||
| 2 tsp of garlic, minced | 0.1 g | 0.6 g | ||
| 1 tbsp of curry powder | 0.15 g | 0.9 g | ||
| 1 ½ tbsp of garam masala | 0.23 g | 1.35 g | ||
| 2 tbsp of tomato paste | 0.33 g | 2 g | ||
| 13 ½ fl oz of coconut milk, unsweetened | 0.83 g | 4.99 g | ||
About these numbers: We are home cooks, not certified nutritionists. Nutrition is shared as a courtesy. We pick a representative product for each ingredient, and our recipe system works out the totals from the amounts in this recipe, so please treat them as a helpful estimate rather than a guarantee. The brands you buy, any swaps you make, and how generously you portion the recipe will all move these numbers.
Directions
-
Preheat the oven to 400°F and grease a 9x13 baking dish well.
Grease the dish generously. Ground chicken is lean and these bake directly on the surface rather than in oil.
-
Knead the ground chicken, pork rind crumbs, garlic, ginger paste, salt, and pepper together until evenly combined.
Work the crumbs all the way through so no dry pockets are left. The mixture will feel softer and wetter than a beef meatball mix.
-
Roll the mixture into evenly sized meatballs and arrange them in the baking dish.
There is no diameter to hit here — the guide is the dish. Two pounds of mixture should sit in one layer across the 9x13 with a little space between each one, so the outsides brown instead of steaming. Matching them to each other matters more than the size you pick, because the 30 to 35 minutes is written for one size going in together.
-
Bake for 30 to 35 minutes, until browned and cooked through to 165°F in the center.
Check a meatball near the middle of the dish, which is usually the last one to come up to temperature.
-
While the meatballs bake, melt the butter in a pot over medium heat.
-
Add the chopped onion and sauté until softened.
-
Stir in the garlic, ginger paste, curry powder, garam masala, and tomato paste, and sauté for about 30 seconds.
Half a minute in the butter is enough to bloom the spices and take the raw edge off the tomato paste. Keep it moving so nothing scorches.
-
Pour in the coconut milk and season with cayenne and salt to taste.
Add the cayenne a pinch at a time. It is the main source of heat here, and it is easier to build than to undo.
-
Simmer until thickened, then let the sauce rest for 5 minutes before pouring it over the meatballs to serve.
The sauce keeps tightening as it cools, so judge the consistency after the rest rather than at a full simmer.
Notes
Ingredient Notes
- Ground chicken or turkey: Either works. Ground chicken keeps the dish closest to the butter chicken it is named after.
- Crushed pork rinds: These stand in for breadcrumbs and give the soft ground chicken enough structure to hold its shape. Crush them fine — large shards stay noticeable in the finished meatball.
- Garlic and ginger paste: Both go in twice, once in the meatballs and once in the sauce. The amounts are the same, so measure for both at the same time.
- Curry powder and garam masala: These carry the flavor of the sauce. Both lean warm and aromatic rather than hot, though many blends include some pepper of their own.
- Tomato paste: A small amount, but it is what gives the sauce its color and keeps the coconut milk from tasting flat.
- Coconut milk: This is written for a full-fat can. A light one has more water and less fat, so it takes longer to cook down and the sauce ends up thinner and less rich.
- Cayenne: The heat control. Add it gradually and taste as you go.
Tools
A mixing bowl, a 9x13 baking dish, and a pot for the sauce. An instant-read thermometer is the one thing worth having here, since browning is not a reliable doneness signal on ground chicken.
Storage
- Cool the meatballs and sauce, then refrigerate them in an airtight container within two hours, or one hour above 90°F.
- Use refrigerated leftovers within 3 to 4 days.
- Reheat gently and stir the sauce as it warms so it comes back together, until the meatballs reach 165°F on a food thermometer.
- Coconut milk sauces can separate a little after freezing. We have not tested how this one holds up frozen.
Serving Suggestions
Spoon the meatballs and sauce over cauliflower rice, or serve them with roasted vegetables or a green salad.
What to Serve With Them
Cauliflower rice is the obvious answer, and not because every keto dinner is legally required to involve cauliflower somewhere. It is just that this sauce needs somewhere to go, and rice-shaped things are good at that.
If you would rather have something with a bit of browning on it, keto zucchini slices with Parmesan hold up next to a rich sauce. For a lighter plate, a Brussels sprouts salad gives you some crunch to work against all that butter and coconut milk.
Frequently Asked Questions
Can I use ground turkey instead of ground chicken?
Yes. This recipe was written for either one, so you can use whichever you have without changing anything else. Ground chicken keeps the dish closest to the butter chicken it is named after, which is the only real reason to pick one over the other.
Do I have to use pork rinds?
They are doing a real job here, so we would not skip them outright — ground chicken is wet and soft, and the crushed rinds are what give it enough structure to hold a meatball shape. If you need an alternative, almond flour is the usual low-carb stand-in for breadcrumbs, though we have not tested it in this recipe and it absorbs moisture differently.
How do I know when the meatballs are done?
Go by temperature rather than color: they are done when a meatball from the center of the dish reads 165°F in the middle on a thermometer, since that one usually lags behind the rest. Browned outsides alone are not a reliable signal with ground chicken.
Are these meatballs spicy?
Only as spicy as you make them. Curry powder and garam masala bring warmth and aroma rather than heat, and the cayenne is what actually pushes the sauce toward spicy. Add it a pinch at a time near the end, taste, and stop wherever you like it. Leave it out and the sauce stays mild, though curry powder and garam masala blends often contain some pepper, so mild is not the same as heatless.
Why is my butter chicken sauce too thin?
It usually just needs more time. The sauce thickens by simmering water out of the coconut milk, so keep it at a steady simmer and give it a few more minutes rather than reaching for a thickener. Two other things are worth checking. This is written for a full-fat can — a light one has more water and less fat, so it has more to cook off and finishes thinner. And the sauce keeps tightening as it cools, which is part of why it rests for a few minutes before going over the meatballs.
Can I use heavy cream instead of coconut milk?
Plenty of butter chicken recipes are built on cream, so the idea is a reasonable one. This version was developed with coconut milk, though, and we have not tested the swap here — expect a different flavor and a different consistency if you try it.
Can I make these ahead?
You can shape the meatballs a few hours ahead and keep them covered in the refrigerator until the oven is on, which is the part that takes the longest. The sauce can also be made ahead and warmed gently while the meatballs bake. For leftovers, refrigerate the meatballs and sauce in an airtight container and use them within three to four days. Reheat them gently to 165°F and stir the sauce as it warms.
If you make these, let us know how you handled the cayenne — that seems to be the one thing everybody adjusts.
Correction — September 24, 2026: We explained a thin sauce by saying a light coconut milk has less fat to reduce. What reduces is water: a light can holds more of it, so it takes longer to cook down and finishes thinner.