01 - Preheat oven to 400°F. Line a large baking sheet with parchment paper or lightly grease a baking dish.
02 - Slice each zucchini in half lengthwise. Using a spoon, carefully scoop out the center seeds and flesh, leaving about 1/4-inch-thick shells. Reserve 1/2 cup of the scooped-out flesh and finely chop it; set aside.
03 - Arrange zucchini halves cut-side up on the prepared baking sheet. Lightly brush with olive oil and season with salt and pepper.
04 - Heat olive oil in a large skillet over medium heat. Add the chopped onion and cook until softened, about 3 minutes. Add the minced garlic and cook for an additional 1 minute until fragrant.
05 - Add ground turkey to the skillet. Cook, breaking it apart with a wooden spoon, until no longer pink throughout, about 5 to 6 minutes.
06 - Stir in the reserved chopped zucchini flesh and cook for 2 minutes. Add the baby spinach and cook until just wilted, about 1 minute. Remove the skillet from heat.
07 - Stir in the basil pesto, half of the mozzarella, half of the Parmesan, and the chopped basil. Season with salt, pepper, and red pepper flakes if desired.
08 - Spoon the turkey and pesto mixture evenly into each zucchini boat, mounding slightly. Sprinkle the tops with the remaining mozzarella and Parmesan.
09 - Bake for 20 to 25 minutes, until the zucchini shells are tender and the cheese is melted and golden brown on top.
10 - Remove from the oven and garnish with additional fresh basil leaves. Serve immediately.