Why I make this
Lean ground turkey makes a fundamentally drier meatball than ground beef, and most "healthier" turkey meatball recipes try to fix this with extra egg or extra breadcrumbs and end up with something dense. Grated, squeezed zucchini is the actual fix — it adds moisture without making the mixture wet, and at the cooked level you can't see or taste it. The kids in my house don't notice. The adults notice that the meatballs are juicy when they shouldn't be.
The other thing I learned the hard way: bake, don't pan-fry. Turkey meatballs in a hot pan tend to stick or crack when you flip them. The oven cooks all sides evenly, hands-off, in eighteen minutes. Then they go into warm sauce for the cheese melt and they're done.
The recipe
Ingredients
- 1.25 lb (570 g) ground turkey, 93% lean (not 99% — too dry)
- 1 medium zucchini, grated on a box grater (about 1 cup grated)
- 1/2 cup panko or regular breadcrumbs
- 1 large egg
- 1/3 cup grated parmesan
- 2 garlic cloves, grated on a microplane
- 1 tsp Italian seasoning (or 1/2 tsp oregano + 1/2 tsp basil)
- 3/4 tsp kosher salt
- 1/2 tsp black pepper
- 2 tbsp olive oil (for the sheet pan)
- 1 (24 oz) jar good marinara sauce
- 1 cup shredded mozzarella
- Fresh basil to serve
Method
- Heat the oven and squeeze the zucchini. 400°F (200°C). Grate the zucchini on a box grater. Pile it into the middle of a clean kitchen towel. Twist the towel and SQUEEZE over the sink — you should get about 1/4 cup of liquid out. Don't underdo this; wet zucchini = flat meatballs.
- Mix. In a large bowl, combine ground turkey, squeezed zucchini, breadcrumbs, egg, parmesan, grated garlic, Italian seasoning, salt, and pepper. Mix with your hands or a fork — just until combined. Overmixing makes the meatballs tough.
- Form. Lightly oil a sheet pan with the olive oil. Form the mixture into 16 meatballs (golf-ball size; about 2 tablespoons of mixture each). Space them on the pan so they don't touch.
- Bake. 18 minutes. They should reach 165°F internally and have golden patches. Let them rest on the pan while you prep the sauce.
- Warm the sauce. Pour marinara into a wide skillet (a 12-inch is great). Warm over medium-low for 5 minutes — just to heat through, not to simmer hard.
- Combine and melt cheese. Transfer the baked meatballs into the warmed sauce, gently rolling them to coat. Scatter the mozzarella over the top. Cover the skillet (use a baking sheet if you don't have a lid) and let it sit on low heat for 5 minutes until the cheese is melted.
- Garnish and serve. Tear fresh basil leaves over the top. Serve over pasta, over rice, on a hoagie roll, or with a hunk of bread.
Melissa's kitchen note
The single mistake I see beginners make: not squeezing the zucchini hard enough. You're not being delicate — you're trying to remove most of the water. Twist the towel like you're wringing out a wet washcloth. The drier the zucchini, the better the meatball.
Don't pan-fry these. I tried it both ways for a year before I committed to the oven. The pan-fried version has crispier outsides but cracks when you flip them, and the inside is uneven. The oven cooks all sides at once, hands-off, and the texture is more reliable.
Ingredient notes
- Ground turkey — 93% lean is the goldilocks zone. 99% is too dry no matter what you do. Higher fat (80/20 ground beef-style turkey, sometimes labeled "ground turkey thigh") makes a juicier meatball if you can find it.
- Zucchini — one medium zucchini = about 1 cup grated. Don't peel it; the skin gives texture and color flecks.
- Breadcrumbs — panko gives more "lift" (lighter texture). Regular Italian breadcrumbs work too.
- Marinara — jarred is fine. Look for one with simple ingredients: tomatoes, olive oil, garlic, salt, basil. Avoid sweetened sauces.
- Mozzarella — low-moisture shredded mozzarella melts smoothly. Fresh mozzarella also works but adds water; pat it dry first if you use it.
Substitutions and variations
- Use ground chicken or beef. Ground chicken: same recipe, slightly drier. Ground beef: skip the zucchini, reduce egg to 1 yolk only.
- Gluten-free. Use GF panko (Aleia's makes a good one) or 1/3 cup almond flour + 2 tbsp parmesan extra.
- Spicy. Add 1/2 tsp red pepper flakes and a tablespoon of finely chopped pepperoni to the meat mix.
- Dairy-free. Skip the parmesan in the meat (add 1 tbsp olive oil and 1/2 tsp salt extra). Skip the mozzarella melt at the end.
- Make a meatball sub. Slice a hoagie roll, line with mozzarella, fill with meatballs and sauce, broil 2 minutes until the cheese is bubbly.
Storage and reheating
Refrigerate up to 4 days. Reheats wonderfully in a skillet on low (with a lid, splash of water if too thick). Microwave works for one serving — cover, 90 seconds, stir.
Freezing: meatballs freeze great. Bake them, cool completely, freeze on a sheet pan until solid, then transfer to a labeled bag. Up to 3 months. Reheat from frozen in warm sauce on the stovetop — takes 15 minutes, no thawing needed.
Make-ahead: form the meatballs, refrigerate raw on the sheet pan, covered, up to 24 hours. Bake straight from the fridge, adding 2-3 minutes.
FAQ
My meatballs fell apart.
Two causes. (1) Zucchini wasn't squeezed enough; the mixture was too wet. (2) Overmixed. Mix until just combined, then stop — you'll see streaks of cheese and pieces of zucchini, that's fine.
Can I cook the meatballs in the sauce instead of baking first?
You can, but they're less tender. Simmering raw meatballs in sauce overcooks the outsides while the insides catch up. Baking first gives them structure and lets the inside cook through gently.
How do I serve these?
Over pasta with extra sauce. Over rice. On a sub. With a salad and a hunk of bread for low-carb. With mashed potatoes for the kids' demand version.
Can kids help make this?
Yes — the rolling step is great for little hands. Wash hands first; let them roll the meatballs onto the sheet pan. Just supervise the oven.



