01 - Preheat oven to 400°F. Lightly grease a large baking dish with cooking spray or olive oil.
02 - Slice each zucchini in half lengthwise. Using a spoon, carefully scoop out the centers to form boats, leaving about a 1/4-inch shell. Reserve 1/2 cup of the scooped flesh, finely chop it, and set aside.
03 - Arrange the zucchini boats cut-side up in the prepared baking dish. Drizzle with 1 tbsp olive oil and season with a pinch of salt and pepper.
04 - Heat 1 tbsp olive oil in a large skillet over medium heat. Add the chopped onion and sauté for 2 to 3 minutes until softened. Stir in the minced garlic and cook for 1 additional minute until fragrant.
05 - Add the ground turkey to the skillet, breaking it apart with a spoon as it cooks. Continue cooking for 5 to 6 minutes until fully browned and no longer pink.
06 - Stir in the reserved chopped zucchini flesh and cook for 2 minutes. Add the baby spinach and cook until wilted. Season with salt, black pepper, and crushed red pepper flakes if desired.
07 - Remove the skillet from heat. Add the basil pesto, half of the mozzarella cheese, and half of the Parmesan cheese to the turkey mixture. Stir until evenly combined.
08 - Spoon the turkey and spinach filling evenly into each zucchini boat, mounding slightly. Sprinkle the remaining mozzarella and Parmesan cheese over the top of each boat.
09 - Bake in the preheated oven for 20 to 25 minutes, until the zucchini shells are tender and the cheese is golden and bubbly.
10 - Remove from the oven and sprinkle generously with sliced fresh basil. Serve immediately while hot.