Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (454 g) ground turkey, 93% lean
- 1 medium zucchini, grated and well-squeezed (about 1 cup packed)
- 1 small shallot, grated; 1 large egg
- 1/2 cup (30 g) panko breadcrumbs
- Parmesan: 1/4 cup (20 g) for meatballs + 1/3 cup (30 g) for orzo + extra to serve
- Garlic: 4 cloves, minced (1 for meatballs, 2 for orzo, 1 for tomatoes)
- 1 tsp dried oregano, 1/2 tsp smoked paprika, pinch red pepper flakes
- Kosher salt and black pepper
- 1.5 cups (255 g) dry orzo; 3 tbsp unsalted butter
- 2 pints (570 g) cherry tomatoes
- 3 tbsp olive oil; 1 lemon; fresh basil or parsley
Do This
- 1. Grate and squeeze zucchini very dry; grate shallot and mince garlic.
- 2. Mix turkey, zucchini, shallot, egg, panko, 1/4 cup Parmesan, 1 clove garlic, spices, salt, and pepper; rest 5 minutes. Form 16–20 small meatballs.
- 3. Sear meatballs in 2 tbsp oil over medium-high until golden (3–4 min). Flip, add 2 tbsp water, cover, and cook on medium-low until 165°F, 6–8 min. Hold warm.
- 4. Boil orzo in salted water until al dente (8–9 min). Reserve 3/4 cup water, drain.
- 5. Melt 3 tbsp butter; sizzle 2 minced garlic cloves 30 seconds. Stir in orzo, 1/2 cup reserved water, 1/3 cup Parmesan; season to taste.
- 6. In meatball skillet, heat 1 tbsp oil; blister tomatoes 4–6 min. Add remaining garlic; season.
- 7. Bowl it up: orzo, meatballs, tomatoes, extra Parm, herbs, black pepper, and a big squeeze of lemon.
Why You’ll Love This Recipe
- Juicy, veggie-boosted turkey meatballs that stay tender thanks to grated zucchini.
- Buttery, garlicky orzo that eats like risotto with a fraction of the effort.
- Sweet-tart blistered cherry tomatoes add brightness and color in minutes.
- Weeknight-friendly but elegant enough for guests, finished with Parmesan and lemon.
Grocery List
- Produce: Zucchini, shallot, garlic, cherry tomatoes, lemon, fresh basil and/or parsley
- Dairy: Unsalted butter, Parmesan, large egg
- Pantry: Ground turkey, orzo, panko, olive oil, dried oregano, smoked paprika, red pepper flakes, kosher salt, black pepper
Full Ingredients
Turkey-Zucchini Meatballs
- 1 lb (454 g) ground turkey, 93% lean
- 1 medium zucchini, coarsely grated and very well squeezed (about 1 cup/100 g packed)
- 1 small shallot, finely grated (about 2 tbsp/30 g)
- 1 large egg
- 1/2 cup (30 g) panko breadcrumbs
- 1/4 cup (20 g) finely grated Parmesan
- 1 garlic clove, minced
- 1 tsp dried oregano
- 1/2 tsp smoked paprika
- 1/4 tsp red pepper flakes (optional)
- 1 tsp kosher salt
- 1/2 tsp freshly ground black pepper
- 2 tbsp olive oil (for searing)
- Zest of 1/2 lemon (about 1 tsp, optional but lovely)
- 2 tbsp water (for covered steam-finish)
Garlic Butter Orzo
- 1.5 cups (255 g) dry orzo
- 3 tbsp unsalted butter
- 2 garlic cloves, minced
- 1/3 cup (30 g) finely grated Parmesan
- 1/2 tsp kosher salt, plus more to taste
- Reserved pasta water (up to 3/4 cup)
Blistered Cherry Tomatoes
- 2 pints (570 g) cherry tomatoes
- 1 garlic clove, thinly sliced or minced
- 1 tbsp olive oil
- 1/4 tsp kosher salt, black pepper to taste
- Pinch of sugar (optional, enhances sweetness)
For Serving
- Extra Parmesan, shaved or grated (about 1/4 cup/20 g)
- Fresh basil leaves (a small handful, torn) and/or chopped parsley
- 1 lemon, cut into wedges
- Extra-virgin olive oil and red pepper flakes, to taste

Step-by-Step Instructions
Step 1: Prep the zucchini and aromatics
Coarsely grate the zucchini on the large holes of a box grater. Gather it in a clean towel and squeeze very firmly over the sink until almost no liquid drips out; this is key for juicy but not soggy meatballs. Grate the shallot and mince the garlic, keeping 1 clove for the meatballs, 2 for the orzo, and 1 for the tomatoes. Zest half a lemon if using.
Step 2: Mix and shape the meatballs
In a large bowl, combine ground turkey, squeezed zucchini, grated shallot, egg, panko, 1/4 cup Parmesan, 1 minced garlic clove, oregano, smoked paprika, red pepper flakes, lemon zest (optional), 1 tsp kosher salt, and 1/2 tsp black pepper. Mix gently with a fork or your hands just until combined; do not overwork. Let the mixture rest 5 minutes to hydrate the panko. With damp hands or a scoop, form 16–20 meatballs, about 1.25 inches each.
Step 3: Pan-sear and cook the meatballs
Heat 2 tbsp olive oil in a large skillet over medium-high until shimmering. Add meatballs in a single layer without crowding. Sear until deeply golden, 3–4 minutes. Flip, cook 2 minutes, then add 2 tbsp water, cover, and reduce heat to medium-low. Cook until the centers reach 165°F, 6–8 minutes more. Transfer to a plate and tent with foil. Keep the skillet; those browned bits will flavor the tomatoes.
Step 4: Boil the orzo and make garlic butter
Bring a large pot of well-salted water to a boil (about 1 tbsp salt per 3–4 quarts). Cook orzo until al dente, 8–9 minutes. Reserve 3/4 cup pasta water, then drain. Return the pot to low heat, add butter, and when melted, stir in 2 minced garlic cloves. Cook just until fragrant, 30–45 seconds. Add the drained orzo, 1/2 cup reserved water, and 1/3 cup Parmesan; stir until glossy and creamy, 1–2 minutes. Season with 1/2 tsp kosher salt (or to taste) and black pepper. Hold warm; add more pasta water as needed to keep it silky.
Step 5: Blister the cherry tomatoes
While the orzo cooks, heat the meatball skillet over medium-high. Add 1 tbsp olive oil if the pan looks dry. Add cherry tomatoes and cook, shaking the pan occasionally, until blistered and some begin to burst, 4–6 minutes. Stir in the remaining garlic for 30 seconds. Season with 1/4 tsp kosher salt, black pepper, and a pinch of sugar if your tomatoes are very tart. Splash in a tablespoon of pasta water and scrape up any browned bits.
Step 6: Build the bowls and finish with lemon
Divide the warm garlic butter orzo among four shallow bowls. Top with meatballs and spoon over the blistered tomatoes and their juices. Shower with extra Parmesan, torn basil or chopped parsley, and a drizzle of extra-virgin olive oil. Finish each bowl with a generous squeeze of lemon and a pinch of red pepper flakes, to taste. Serve immediately.
Pro Tips
- Squeeze the zucchini very dry; removing moisture is the secret to tender, cohesive meatballs.
- Use damp hands or a lightly oiled scoop for neat, uniform meatballs that cook evenly.
- Resist moving the meatballs early; a deep sear adds flavor and helps them release naturally.
- Reserve pasta water; its starch turns the orzo glossy and saucy without cream.
- Warm bowls make a difference. Heat them briefly (low oven) so the orzo stays plush.
Variations
- Baked meatballs: Bake on a lightly oiled sheet at 425°F (220°C) for 12–14 minutes, broil 1–2 minutes to brown.
- Gluten-free: Use GF panko and swap orzo for GF orzo or cooked rice.
- Dairy-free: Replace butter with olive oil and Parmesan with a dairy-free hard cheese or toasted breadcrumbs.
Storage & Make-Ahead
Refrigerate leftovers in airtight containers up to 4 days. Reheat gently with a splash of water or broth to re-loosen the orzo. Meatball mixture can be mixed and shaped up to 24 hours ahead (cover and chill). To freeze, arrange raw meatballs on a sheet pan until firm, then bag and freeze up to 2 months; cook from frozen, adding a few minutes. Cooked meatballs also freeze well up to 2 months; thaw overnight and rewarm in a covered skillet with a splash of broth.
Nutrition (per serving)
Approximate: 720 calories; 34 g protein; 58 g carbohydrates; 33 g fat; 5 g fiber; 6 g sugars; 980 mg sodium. Nutrition will vary based on exact ingredients and salt used.

