Jump to Recipe
These meatballs skip the frying pan and go straight into a hot oven, which cuts the fat significantly without sacrificing a browned exterior.
I use a 50/50 mix of lean ground turkey and extra-lean ground beef. Neither alone gives the right texture, but together they stay moist through the bake.
The binder here is a small amount of whole wheat breadcrumbs soaked in skim milk, a classic panade technique that keeps the interior tender without adding fat.
A quick passata-based sauce simmers while the meatballs bake. Everything finishes together in the same pan, so the meatballs absorb flavor and the sauce thickens naturally.

Why You’ll Love This Recipe
- Baked, not fried, cuts fat without losing browning
- Under 280 kcal per serving with 28 g protein
- Freezer-friendly batch cooking in under 40 minutes
- Works over pasta, in sub rolls, or with zucchini noodles
Ingredient Notes
- lean ground turkey: Use 93% lean, not 99% fat-free, which dries out fast. Ground chicken thigh works as a substitute with similar fat content.
- extra-lean ground beef: 90/10 or 93/7 beef adds flavor the turkey alone can’t provide. Don’t go leaner than 90/10 or the meatballs turn grainy.
- whole wheat breadcrumbs: Soak them in skim milk for 5 minutes before mixing. This panade keeps the meatballs from compacting during baking. Regular dried breadcrumbs work fine too.
- skim milk: Used only for soaking the breadcrumbs. Unsweetened oat milk or low-fat milk substitute works if you need dairy-free.
- Parmigiano Reggiano: A small amount gives a lot of savory depth. Grana Padano is a budget-friendly swap with similar flavor.
- passata (tomato puree): I use a 680 ml bottle of plain passata. Crushed canned tomatoes blended smooth is an easy substitute.
- garlic: Fresh cloves only here. Pre-minced jarred garlic has a sharper, less clean flavor that stands out in a simple sauce like this.

Low Fat Italian Meatballs Recipe
Ingredients
Method
- Heat the oven to 220 C / 425 F. Set a wire rack over a rimmed baking sheet and lightly coat the rack with cooking spray.
- Combine the breadcrumbs and skim milk in a large bowl. Stir and leave to soak for 5 minutes until the crumbs are fully absorbed and paste-like.
- Add the ground turkey, ground beef, Parmigiano, egg, minced garlic, parsley, oregano, salt, and pepper to the breadcrumb mixture. Mix with your hands until just combined, do not overwork.
- Wet your hands with cold water. Portion the mix into 20 equal balls, roughly 28 g each, rolling each one firmly once between your palms. Place on the prepared rack.
- Bake for 18 to 20 minutes until golden on the outside and the internal temperature reads 74 C / 165 F on an instant-read thermometer.
- While the meatballs bake, heat the olive oil in a large oven-safe skillet over medium heat. Add the sliced garlic and cook for 60 seconds until pale and fragrant, not browned.
- Pour in the passata, add oregano, salt, and red pepper flakes if using. Stir and bring to a gentle simmer. Cook uncovered for 10 minutes, stirring occasionally, until the sauce thickens slightly.
- Nestle the baked meatballs into the simmering sauce. Spoon sauce over each meatball and cook together for 5 minutes over medium-low heat so the meatballs absorb the sauce flavor.
- Taste the sauce and adjust salt. Serve immediately, or leave covered off the heat for up to 15 minutes before serving.
Notes

Tips for Success
- Wet your hands with cold water before rolling each meatball to stop the mix sticking and tearing.
- Pack the mix loosely, then roll firmly once, not back and forth repeatedly, to keep a light interior.
- Bake on a wire rack set over a sheet pan so hot air circulates and the bottoms don’t steam.
- Simmer the sauce in an oven-safe skillet so you can nestle the baked meatballs directly in and finish everything together.
- Grate the Parmigiano on the fine side of the box grater so it disperses evenly through the mix without forming clumps.
Variations
- Add 1 tsp fennel seeds and a pinch of chili flakes to the mix for a spicy sausage-style meatball.
- Use all ground turkey and add 1 tbsp ricotta per 450 g to compensate for the lower fat content.
- Make mini 20 g meatballs for soup, and drop them raw directly into a simmering minestrone.
Storage and Reheating
Cooked meatballs in sauce keep in an airtight container in the fridge for up to 4 days. Store them submerged in the sauce so they stay moist.
To freeze, cool completely, then freeze in portions with sauce for up to 3 months. Thaw overnight in the fridge before reheating.
Reheat in a covered saucepan over medium-low heat with a splash of water, stirring occasionally, until heated through (74 C / 165 F internal). Avoid the microwave if you can, it dries out lean meatballs quickly.
Serving Suggestions
Over whole wheat spaghetti or rigatoni with a spoonful of extra tomato-based sauce and a light dusting of Parmigiano is the most straightforward way to serve these.
For a lower-carb plate, lay them over spiralized zucchini or par-boiled cauliflower rice with the sauce spooned over. The sauce holds everything together.
They also work well packed into a toasted whole grain sub roll with a thin spread of part-skim ricotta under the meatballs. A simple green salad on the side rounds out the meal.

FAQ
Why are my low fat meatballs falling apart when I roll them?
The panade needs more time. Make sure the breadcrumbs have soaked in the milk for at least 5 minutes before you mix everything together. Also chill the mixed meat for 15 minutes before rolling, it firms up and holds its shape better.
Can I use all ground turkey instead of the turkey and beef mix?
Yes, but add 1 tbsp of part-skim ricotta per 450 g of turkey to replace the fat the beef was providing. Without it, all-turkey meatballs tend to turn dry and slightly rubbery after baking.
How do I know when the meatballs are cooked through in the oven?
The safest check is an instant-read thermometer. They need to hit 74 C / 165 F at the center. Visually, they’ll be lightly golden on the outside and firm when pressed gently with a spatula.
Can I make these low fat meatballs ahead and freeze them uncooked?
Yes. Roll them, place on a lined tray, freeze until solid (about 2 hours), then transfer to a freezer bag. Bake straight from frozen at 200 C / 390 F for 28 to 30 minutes, checking the internal temperature before adding to sauce.
Are these Italian meatballs gluten-free?
Not as written, because of the whole wheat breadcrumbs. Swap them for certified gluten-free breadcrumbs or rolled oats processed to a coarse crumb and the rest of the recipe stays the same.
What’s the difference between these baked meatballs and traditional Italian polpette?
Traditional polpette are often pan-fried in olive oil and can use fattier cuts like ground pork or veal. This version uses lean poultry and beef baked at high heat to mimic browning with less fat. The flavor profile is similar, but the texture is slightly firmer.
