Jump to Recipe
This dish has 37 grams of protein per serving and takes about an hour start to finish. The protein comes from ground chicken, one egg, and grated parmesan, not a scoop of powder, so it eats like actual dinner instead of a protein shake with meatballs floating in it.
I bake the meatballs on a sheet pan first instead of frying them in oil. That does two things: it renders some of the fat out so the sauce isn’t greasy, and it means I’m not standing over a skillet flipping twenty meatballs one at a time.
The failure mode here is overmixing the meat. Stir the panko, egg, and seasoning in until just combined, then stop. Keep working it and the meatballs turn dense and a little rubbery instead of tender.
During long Duluth winters this is the dinner I make when my kids want spaghetti and I want something on the table that actually has protein in it. It holds up fine over rice, pasta, or just a hunk of bread to mop up the sauce.
Why You’ll Love This Recipe
- 37 grams of protein per serving from real food, not powder
- Baking the meatballs first means no standing over a hot skillet
- One 12-inch skillet handles the whole sauce and finish
- Reheats clean the next day, tastes better on day two
Ingredient Notes
- ground chicken: Use a mix of light and dark meat if you can find it. All-breast ground chicken works but dries out faster in the oven, so watch the time closely.
- panko breadcrumbs: Panko keeps the meatballs lighter than fine dried breadcrumbs. Swap in gluten-free panko and the whole dish becomes gluten free.
- parmesan: Grate it yourself if you can. Pre-shredded parmesan has anti-caking starch that keeps it from melting into the meat as well.
- crushed tomatoes: A 28 oz / 700 g can of crushed tomatoes gives the sauce body without needing to reduce it for long. Whole peeled tomatoes crushed by hand work too.
- tomato paste: This deepens the color and adds concentrated tomato flavor without extra liquid. Don’t skip it, the sauce tastes thin without it.

Baked Chicken Meatballs in Garlicky Tomato Sauce
Ingredients
Method
- Heat the oven to 220 C / 425 F and line a 13 x 18 inch sheet pan with parchment.
- In a mixing bowl, combine the ground chicken, egg, panko, parmesan, minced garlic, parsley, oregano, salt, and pepper. Mix with your hands just until combined, do not overwork it.
- Scoop the mixture into about 20 meatballs, roughly 40 g each, and arrange them on the sheet pan with space between each one.
- Bake for 18 to 20 minutes, until golden on the outside and the internal temperature reads 165 F / 74 C at the thickest meatball.
- While the meatballs bake, heat the olive oil in a 12-inch oven-safe skillet over medium heat. Add the diced onion and cook for 4 to 5 minutes, until soft and translucent.
- Add the minced garlic and cook for 30 seconds, until fragrant. Stir in the tomato paste and cook for 1 minute, stirring, to deepen the color.
- Pour in the crushed tomatoes, dried basil, sugar, salt, and red pepper flakes if using. Simmer uncovered for 8 minutes, stirring occasionally, until slightly thickened.
- Reduce the oven to 190 C / 375 F. Nestle the baked meatballs into the sauce in the skillet.
- Transfer the skillet to the oven and bake for 10 minutes, until the sauce is bubbling at the edges and the meatballs are coated.
- Garnish with fresh basil and extra parmesan, and let the dish rest 5 minutes before serving.
Notes
- Don't skip the sheet pan bake before adding meatballs to the sauce, it keeps them from falling apart.
- Check the thickest meatball with a thermometer, not the smallest, for an accurate 165 F / 74 C reading.
- Grate parmesan fresh if possible, pre-shredded doesn't melt into the mixture the same way.
- Let the dish rest 5 minutes off heat so the sauce thickens slightly before serving.

Tips for Success
- Mix the meatball ingredients with your hands just until combined to keep them tender, not dense.
- Use a small scoop or tablespoon measure so all 20 meatballs bake at the same rate.
- Check internal temp with a thermometer at the thickest meatball, not the smallest one.
- Simmer the garlicky tomato sauce uncovered for at least 8 minutes so the raw tomato taste cooks off.
- Let the finished dish sit 5 minutes off heat before serving so the sauce clings instead of running.
Variations
- Swap half the ground chicken for ground pork for a richer, fattier meatball with more browning.
- Add 1 cup baby spinach to the sauce in the last 3 minutes of baking for extra vegetables in the dish.
- Stir in a splash of heavy cream at the end for a rose-style sauce instead of a straight tomato one.
Storage and Reheating
Store leftover meatballs and sauce together in an airtight container in the fridge for 3 to 4 days. The sauce actually tightens up and tastes better on day two once the flavors settle.
Reheat in a covered skillet over medium-low heat for 6 to 8 minutes, stirring the sauce occasionally, until the meatballs are warmed through to 165 F / 74 C at the center. A splash of water or extra crushed tomato loosens this baked tomato sauce if it’s thickened too much in the fridge.
To freeze, cool completely and pack into a freezer-safe container for up to 3 months. Thaw overnight in the fridge before reheating in the skillet the same way.
Serving Suggestions
Serve these over spaghetti or rigatoni with extra parmesan grated on top, or spoon them over rice if you want something plainer. A green salad with a sharp vinaigrette cuts through the richness of the sauce.
For a lower-carb plate, ladle the meatballs and sauce over roasted spaghetti squash or a bed of sauteed zucchini ribbons. Crusty bread on the side is non-negotiable in my house for mopping up whatever sauce is left in the bowl.
Leftover sauce and meatballs also work chopped up and stuffed into a toasted hoagie roll with mozzarella melted on top under the broiler.

FAQ
Why did my chicken meatballs turn out mushy instead of holding together?
Mushy meatballs usually mean the mixture was overmixed or too wet. Ground chicken has more moisture than beef or pork, so mix just until the egg, panko, and parmesan are combined, then stop. If the mixture feels loose, chill it for 15 minutes before forming balls so it firms up.
Can I use ground turkey instead of ground chicken for these meatballs?
Yes, ground turkey works as a straight swap in the same amount. Turkey is slightly leaner than chicken, so check for doneness a few minutes early and pull the meatballs once they hit 165 F / 74 C at the center so they don’t dry out.
Can I freeze baked chicken meatballs in tomato sauce?
Yes, they freeze well for up to 3 months in an airtight container once fully cooled. Thaw overnight in the fridge, then reheat in a covered skillet over medium-low heat until warmed through and the sauce is loosened with a splash of water.
What goes well with baked chicken meatballs in tomato sauce?
Spaghetti, rigatoni, or rice all soak up the sauce well, and a sharp green salad balances the richness. For a lighter plate, try them over roasted spaghetti squash or sauteed zucchini instead of pasta.
Are these baked chicken meatballs gluten free?
Not as written, since regular panko breadcrumbs contain wheat. Swap in a gluten-free panko or crushed gluten-free crackers in the same amount and the rest of the recipe, including the sauce, stays gluten free as is.
What’s the difference between baking these meatballs and pan-frying them?
Baking on a sheet pan at 220 C / 425 F lets fat render off all sides at once without oil splatter, and you don’t have to flip 20 meatballs individually. Pan-frying gives a deeper crust on one side but takes more hands-on time and adds extra oil to the dish.

