01 - Preheat the oven to 400°F. Line a baking dish with parchment paper or lightly grease it with olive oil.
02 - Slice the zucchini in half lengthwise. Using a spoon, carefully scoop out the centers to create boats, leaving a 1/4-inch border. Reserve the scooped-out flesh and chop it into small pieces.
03 - Heat 1 tablespoon olive oil in a large skillet over medium heat. Add the diced onion and sauté for 2 minutes until softened. Stir in the minced garlic and cook for 1 minute more until fragrant.
04 - Add the ground turkey to the skillet, breaking it up with a spatula. Cook for 5–6 minutes over medium heat until browned and cooked through, stirring occasionally.
05 - Stir in the chopped zucchini flesh and spinach. Season with salt, black pepper, and crushed red pepper flakes if using. Cook for 2–3 minutes until the spinach wilts and most of the liquid has evaporated.
06 - Remove the skillet from heat. Stir in the basil pesto and half of the grated Parmesan cheese until well combined.
07 - Arrange the zucchini boats in the prepared baking dish. Drizzle with the remaining olive oil. Fill each boat generously with the turkey-spinach mixture, pressing lightly to pack.
08 - Sprinkle the shredded mozzarella cheese and remaining Parmesan cheese evenly over the tops of the filled zucchini boats.
09 - Bake for 18–22 minutes until the zucchini is tender when pierced with a fork and the cheese is melted and lightly golden on top.
10 - Let the zucchini boats cool for a few minutes before serving to allow the flavors to settle.