Preheat the oven: Set to 400°F (200°C). Line a baking sheet or 9x13 dish with parchment for easy cleanup.
Prep the zucchini: Trim ends, slice lengthwise, and use a spoon to scoop out the centers, leaving about 1/4 inch shell. Reserve about half of the scooped zucchini, finely chopped, for the filling.
Season the boats: Place zucchini cut-side up.
Brush with 1 tablespoon olive oil and sprinkle with salt and pepper. Bake for 8–10 minutes to soften slightly.
Cook the filling: Heat remaining 1 tablespoon olive oil in a large skillet over medium heat. Add onion and cook 3–4 minutes until translucent.
Stir in garlic for 30 seconds until fragrant.
Brown the meat: Add ground meat. Cook, breaking it up, until no longer pink, 5–7 minutes. Drain excess fat if needed.
Flavor boost: Stir in chopped zucchini, tomato paste, and Italian seasoning.
Cook 2 minutes to caramelize the paste. Add crushed tomatoes or marinara and red pepper flakes. Simmer 3–4 minutes.
Season with salt and pepper to taste.
Fill the boats: Remove zucchini from oven. Spoon the meat mixture into each boat, packing it in evenly.
Add cheese: Sprinkle mozzarella over the top, then dust with Parmesan.
Bake: Return to oven for 12–15 minutes, until zucchini is tender and cheese is bubbling and golden at the edges.
Garnish and serve: Rest 5 minutes. Top with chopped basil or parsley if you like.
Serve hot.