Servings: 12 meatballs | Prep Time: 15 minutes | Cook Time: 15 minutes
Ok so I totally get that this recipe may seem kind of weird, but pleeeease don’t knock it ’til you try it!! This is one of those recipes that came together with almost no intentional planning: I was set on creating a new baked turkey zucchini meatball, but I had like eighteen variations in my head. Then I opened the fridge, saw an old croissant and some pepperoni that were leftover from a client shoot, and I was like … maaaybe? Maybe these will work in a meatball?
And omg. They absolutely did. I made these meatballs THREE times and was absolutely obsessed each time. Rather than breadcrumbs (which I was out of, thus the “maybe the croissant will work?” thought process), the buttery croissant adds a ton of flavor and tenderness to these meatballs. They’ve also got zucchini, shallot, finely chopped pepperoni for LOTS of flavor (and a little fat, rather than olive oil), a touch of mayo for binding, a little Parmesan cheese, and an easy seasoning blend. This is a small batch recipe designed to make 2-3 servings, or 12 baked turkey zucchini meatballs (about 2 tbsp. in size).

Ingredients
- 8 oz. Ground Turkey (I use an 85/15 fat blend)
- 1 cup finely chopped day-old Croissant
- 2 tablespoons Whole Milk
- 1/2 cup grated (then finely chopped) Zucchini
- 1/4 cup minced Shallot
- 1/4 cup finely chopped Pepperoni
- 1 tablespoon Mayonnaise, I love Duke’s
- 1 teaspoon Italian Seasoning
- 1/2 teaspoon Diamond Crystal Kosher Salt
- 1/2 teaspoon Garlic Powder
- 2 tablespoons finely Grated Parmesan Cheese

You can serve these meatballs with a variety of things, by the way. They’re great with classic spaghetti and jarred marinara sauce, OR alfredo sauce! Or you can eat them with an easy green salad, some pita, and tzatziki sauce. Zoodles are a good idea if you have a lot of extra zucchini!
Ingredient Notes & FAQs
Ground Turkey: You’ll see a few fat variations at the store. I used 85/15 for these, as I like a higher fat content in turkey meatballs for more flavor. You can absolutely use a leaner ground turkey, like 90/10 or 93/7. The fats in the mayonnaise and pepperoni will keep them tender.
Croissant: Croissants come in all sizes. I used one of these standard-sized croissants that was leftover from a client shoot the week before, but I had kept them in my refrigerator. It was slightly smaller than the size of my hand, and the package says it was 45 g, or about 1.5 ounces in weight. A day (or week) old croissant is perfect for these meatballs. If you’d rather use regular breadcrumbs (or panko breadcrumbs), reduce the amount to 1/2 cup.
Shallot: I love shallots for small batch recipes. You can usually grab one from the store and easily use it between 1-2 recipes. These meatballs use about one small shallot. Feel free to use onion instead (any color).
Pepperoni: My hack for using pepperoni in small batch recipes: get a few slices of it from the deli section at the store. You don’t need a whole package of pepperoni (unless you really love it!), and most grocery stores have it sliced in the deli section alongside deli meats. Ask for 3-4 slices, depending on how big they are. You don’t need much for these!
Can I use a different protein? Sure! Ground chicken is a great swap.
What can I do with leftover ground turkey? I HIGHLY recommend making these Baked Turkey and Black Bean Tacos, this Ground Turkey Taco Salad for Two, or these Small Batch Basil, Feta, and Turkey Sliders. Each recipe uses 8 oz. of ground turkey.
Do you have a recipe for leftover zucchini? Yes! Look for the smallest zucchini at the store so you’ll have minimal leftovers, but use leftover zucchini in this Spicy Chicken & Summer Veggie Pasta for Two OR this Creamy Roasted Veggie Pasta for Two (swap in zucchini for the yellow squash).

How to Make these Zucchini Turkey Meatballs
Step One: Combine the Croissant, Milk, and Ground Turkey. In a large bowl, combine the finely chopped croissant, whole milk, and ground turkey. Use a spatula to gently mix them all together until just combined. (Over-mixing meatballs makes them dense!) You want the croissant to absorb the liquids at this point.



Step Two: Prep the Zucchini. Using the large holes of a box grater, grate 1/2 cup of zucchini. Transfer it to a paper towel, then squeeze as much liquid as possible out of it (you should get about 1-2 tablespoons of liquid out). Transfer it to a cutting board and finely chop it.



Step Three: Combine Everything Add the zucchini, pepperoni, shallot, mayonnaise, Italian seasoning, salt, garlic powder, and Parmesan cheese to the bowl with the ground turkey mixture. Use the spatula (or your hands) to gently mix everything together until just combined.


Step Four: Make the Meatballs. Preheat the oven to 375º F. Line a 1/4 baking sheet (9 1/2″ x 13″) with parchment paper. Use a #40 cookie scoop or a tablespoon to scoop 2 tablespoon mounds of turkey mixture onto the prepared baking sheet, leaving a little room between each one. Repeat until the turkey mixture is gone; you should have about 12 meatballs. Roll each mound in between your hands to form a uniform ball. (Note: this mixture will be WET, and they don’t have to be perfect!)




Step Five: Bake the Meatballs. Bake the meatballs in the preheated oven for 15-18 minutes, or until lightly browned and cooked through. Serve hot with spaghetti and marinara sauce, fluffy rice with a drizzle of Alfredo sauce, buttered noodles, or pita, tzatziki, and roasted vegetables!

Recipe Tips & Tricks
- Soak the croissant. Don’t skip this step! Letting the finely chopped croissant mix and rest with whole milk and turkey before mixing in everything else is what makes these meatballs so tender. Give it a few minutes to really absorb before adding the other ingredients.
- Squeeze your zucchini. After grating, squeeze out as much moisture as you can with a clean kitchen towel or paper towels. Too much liquid = meatballs that won’t hold their shape.
- Don’t overmix. Ground turkey gets tough fast if you overwork it. Mix until everything is just combined and then stop.
- Rest the mixture before rolling. If you can, let the mix sit for 5-10 minutes before scooping; it firms up slightly and makes rolling way easier.
- Broil at the end. After baking, hit them under the broiler for 1-2 minutes for a little color and a slightly crispier exterior. Totally worth the extra two minutes, but remove the parchment first so it doesn’t burn.
Ways to Customize This Recipe
- Swap the protein. Ground chicken or pork work great here in place of turkey.
- No croissant? A day-old brioche bun or a buttery dinner roll works as a substitute if you want to keep that rich flavor! If not, plain white sandwich bread works!
- Make them smaller. Use a #50 cookie scoop for cocktail-sized meatballs! They’re great for an appetizer situation. Reduce bake time by a 2-3 minutes.
- Serve these meatballs with spaghetti and meatballs, rice and a drizzle of tzatziki sauce,

Seriously, make these yours. Use this recipe as a guide the first time, then adjust any ingredients or measurements to fit your preferences. I LOVE this version, but you have full freedom to customize it! And if you’re into small batch recipes, sign up for my newsletter! I share fun, fresh small batch recipes with you every single week!
How to Store & Reheat Leftovers
Refrigerator: Store leftover meatballs in an airtight container for up to 4 days.
Freezer: Let them cool completely, then freeze them in a single layer on a baking sheet before transferring to a freezer bag. They’ll be good for up to 3 months. Thaw overnight in the fridge before reheating.
Meal prep tip: Make a double batch and keep half in the freezer!
Reheating: Warm in a skillet over medium-low heat for a few minutes, microwave in 30-second intervals until heated through, or pop them in the air fryer at 350°F for 3-4 minutes for the best exterior texture.

If you make these meatballs, I would love to see them! Tag me on Instagram, DM me … whatever works! 😉 And don’t forget to rate the recipe, because it helps more people find my recipes, and I soooo appreciate that!!
xx Sara

Baked Turkey Meatballs with Zucchini and Pepperoni
Ingredients
- 8 oz. Ground Turkey
- 1 cup finely chopped Croissant
- 2 tbsp. Whole Milk
- 1/2 cup grated, then finely chopped Zucchini
- 1/4 cup minced Shallot
- 1/4 cup finely chopped Pepperoni
- 1 tbsp. Mayonnaise
- 1 tsp. Italian Seasoning
- 1/2 tsp. Kosher Salt I use Diamond Crystal Kosher Salt
- 1/2 tsp. Garlic Powder
- 2 tbsp. finely grated Parmesan Cheese
Instructions
- Combine the Croissant, Milk, and Ground Turkey. In a large bowl, combine the finely chopped croissant, whole milk, and ground turkey. Use a spatula to gently mix them all together until just combined. (Over-mixing meatballs makes them dense!) You want the croissant to absorb the liquids at this point.
- Prep the Zucchini. Using the large holes of a box grater, grate 1/2 cup of zucchini. Transfer it to a paper towel, then squeeze as much liquid as possible out of it (you should get about 1-2 tablespoons of liquid out). Transfer it to a cutting board and finely chop it.
- Combine Everything Add the zucchini, pepperoni, shallot, mayonnaise, Italian seasoning, salt, garlic powder, and Parmesan cheese to the bowl with the ground turkey mixture. Use the spatula (or your hands) to gently mix everything together until just combined.
- Make the Meatballs. Preheat the oven to 375º F. Line a 1/4 baking sheet (9 1/2″ x 13″) with parchment paper. Use a #40 cookie scoop or a tablespoon to scoop 2 tablespoon mounds of turkey mixture onto the prepared baking sheet, leaving a little room between each one. Repeat until the turkey mixture is gone; you should have about 12 meatballs. Roll each mound in between your hands to form a uniform ball. (Note: this mixture will be WET, and they don’t have to be perfect!)
- Bake the Meatballs. Bake the meatballs in the preheated oven for 15-18 minutes, or until lightly browned and cooked through. Serve hot with spaghetti and marinara sauce, fluffy rice with a drizzle of Alfredo sauce, buttered noodles, or roasted vegetables!
Notes
Nutrition
Tried this recipe?
Make sure to follow on Pinterest @aflavorjournal and on Instagram @aflavorjournal





Get More from A Flavor Journal!
Don’t forget to connect with me on social media where I share all of my small batch recipes!