Keto Pesto-Stuffed Chicken Thighs with Zucchini Ribbons

Quick Recipe Version (TL;DR)

  • Yield: 4 servings
  • Prep Time: 20 minutes
  • Cook Time: 30 minutes
  • Total Time: 50 minutes

Quick Ingredients

  • 4 chicken thighs, bone-in, skin-on (about 2 to 2.5 lb / 900 to 1,130 g)
  • 1/4 cup basil pesto (store-bought or homemade)
  • 4 oz low-moisture mozzarella, shredded or sliced
  • 1 cup cherry tomatoes
  • 2 tbsp extra-virgin olive oil, divided
  • 1 tsp kosher salt, 1/2 tsp black pepper, 1 tsp garlic powder
  • 2 medium zucchini (about 1 lb / 450 g), ribboned
  • 1 tbsp butter
  • 1 small garlic clove, minced
  • 1 tbsp grated Parmesan (optional), lemon wedge (optional)

Do This

  • 1. Heat oven to 425°F (220°C). Pat chicken dry; loosen skin with a finger to form a pocket.
  • 2. Tuck 1 tbsp pesto and 1 oz mozzarella under each skin; press skin to seal (use a toothpick if needed).
  • 3. Season all over with salt, pepper, and garlic powder.
  • 4. Heat 1 tbsp oil in an oven-safe skillet over medium; sear chicken skin-side down 6–8 minutes until deep golden.
  • 5. Flip, scatter cherry tomatoes around, drizzle remaining 1 tbsp oil; roast 15–18 minutes to 165°F (74°C).
  • 6. Rest chicken 5 minutes. Sauté zucchini ribbons with butter and minced garlic 1–2 minutes; finish with Parmesan and lemon. Serve chicken and tomatoes over zucchini.

Why You’ll Love This Recipe

  • Crispy, golden chicken skin with a surprise inside: garlicky basil pesto and melty mozzarella.
  • Keto-friendly and weeknight-easy, yet elegant enough for guests.
  • One-pan roast for the chicken and tomatoes; quick 2-minute sauté for fresh zucchini ribbons.
  • Bright, balanced flavors: rich chicken, sweet blistered tomatoes, and light, twirly zucchini.

Grocery List

  • Produce: Fresh basil (if making pesto), 2 medium zucchini, 1 cup cherry tomatoes, 2 garlic cloves, 1 lemon (optional)
  • Dairy: Low-moisture mozzarella (4 oz), Parmesan (for pesto and finishing), butter
  • Pantry: Chicken thighs (4, bone-in, skin-on), extra-virgin olive oil, kosher salt, black pepper, garlic powder, pine nuts or walnuts (if making pesto), toothpicks (optional)

Full Ingredients

Chicken, Filling, and Tomatoes

  • 4 chicken thighs, bone-in, skin-on (about 2 to 2.5 lb / 900 to 1,130 g)
  • 1/4 cup basil pesto (60 ml) — store-bought or homemade (see below)
  • 4 oz (115 g) low-moisture mozzarella, shredded or thinly sliced
  • 1 cup (150 g) cherry tomatoes
  • 2 tbsp (30 ml) extra-virgin olive oil, divided
  • 1 tsp kosher salt
  • 1/2 tsp freshly ground black pepper
  • 1 tsp garlic powder
  • Pinch red pepper flakes (optional)

Zucchini Ribbons

  • 2 medium zucchini (about 1 lb / 450 g), ribboned with a vegetable peeler
  • 1 tbsp (14 g) unsalted butter
  • 1 small garlic clove, minced
  • 1 tbsp (5 g) grated Parmesan, plus more to taste (optional)
  • 1–2 tsp fresh lemon juice (optional)
  • Kosher salt and black pepper, to taste

Homemade Basil Pesto (optional, makes about 1/2 cup; you’ll use 1/4 cup)

  • 2 cups (50 g) fresh basil leaves, packed
  • 2 tbsp (20 g) pine nuts or walnuts
  • 1 small garlic clove
  • 1/4 tsp kosher salt
  • 1/4 cup (25 g) finely grated Parmesan
  • 1/3 cup (80 ml) extra-virgin olive oil
  • 1 tsp lemon juice
Keto Pesto-Stuffed Chicken Thighs with Zucchini Ribbons – Closeup

Step-by-Step Instructions

Step 1: Preheat and prep the chicken

Heat the oven to 425°F (220°C). Pat the chicken thighs very dry with paper towels. This is key to rendering fat and crisping the skin. Using a finger, gently loosen the skin from the meat to create a pocket without detaching the skin completely.

Step 2: Make pesto (if using homemade)

In a food processor, pulse basil, nuts, garlic, and salt until finely chopped. Add Parmesan and pulse. With the motor running, slowly stream in olive oil until glossy and spoonable. Stir in lemon juice. Measure out 1/4 cup for this recipe; refrigerate the rest up to 1 week.

Step 3: Stuff and season

Spoon about 1 tablespoon pesto under the skin of each thigh, spreading evenly. Tuck about 1 ounce mozzarella under the skin as well. Press the skin down to seal. If any look loose, secure the edge with a toothpick. Season all over with kosher salt, black pepper, garlic powder, and a pinch of red pepper flakes if you like.

Step 4: Sear to crisp the skin

Heat 1 tablespoon olive oil in a large oven-safe skillet (cast iron is ideal) over medium heat. Place thighs skin-side down and cook without moving 6–8 minutes, until the skin is deep golden and crisp. Carefully flip.

Step 5: Roast with cherry tomatoes

Scatter the cherry tomatoes around the chicken. Drizzle the remaining 1 tablespoon olive oil over the tomatoes and sprinkle with a pinch of salt. Transfer the skillet to the oven and roast 15–18 minutes, until the thickest part of the meat registers 165°F (74°C). If using boneless skin-on thighs, start checking at 12–14 minutes. Transfer chicken to a plate and rest 5 minutes. Lightly crush a few tomatoes in the pan with a spoon to release their juices.

Step 6: Sauté the zucchini ribbons

While the chicken rests, place the skillet over medium heat (leave the tomatoes and drippings in). Add butter and the minced garlic; cook 30 seconds until fragrant. Add the zucchini ribbons, toss with tongs, and sauté just 1–2 minutes until barely tender and still bright green. Season with salt and pepper to taste, and finish with Parmesan and a squeeze of lemon if using. Remove from heat promptly to avoid overcooking.

Step 7: Plate and serve

Twirl zucchini ribbons onto warm plates. Top with a pesto-stuffed chicken thigh, spooning roasted tomatoes and pan juices over the top. Garnish with extra basil or Parmesan if desired. Serve immediately.

Pro Tips

  • Dry skin equals crispy skin: Pat thoroughly and avoid overcrowding the pan so moisture can escape.
  • Don’t overstuff: About 1 tablespoon pesto and 1 ounce mozzarella per thigh prevents leaks and ensures even cooking.
  • Use an instant-read thermometer: Pull chicken at 165°F (74°C) for juicy meat; carryover heat will finish the job.
  • Let the chicken rest: Five minutes keeps juices in the meat, not on the cutting board.
  • Zucchini cooks fast: Keep it on the heat only 1–2 minutes for tender-crisp ribbons that don’t weep water.

Variations

  • Air fryer: Air fry stuffed, seasoned thighs skin-side up at 390°F (200°C) for 16–20 minutes, adding tomatoes in the basket for the last 6–8 minutes.
  • Cheese swap: Try provolone or fontina for a slightly sharper, ultra-melty filling.
  • Prosciutto wrap: Wrap each thigh with a slice of prosciutto after stuffing to help seal and add savory crispness.

Storage & Make-Ahead

Refrigerate leftovers in an airtight container up to 3–4 days. Reheat on a sheet pan at 375°F (190°C) for 10–12 minutes to re-crisp the skin. Zucchini ribbons are best fresh but will keep up to 2 days; rewarm briefly in a skillet. Make pesto up to 1 week ahead (or freeze up to 3 months). You can stuff and season the thighs up to 12 hours in advance; cover and refrigerate, then sear and roast just before serving.

Nutrition (per serving)

Approximate values: 560 calories; 47 g fat; 7 g total carbs (about 5 g net carbs); 31 g protein; 1 g fiber; 1 g sugar. Values will vary based on pesto and cheese used.

Promotional Banner X
*Sponsored Link*