Preheat your oven to 400 degrees F. Cut the zucchini in half lengthwise and scoop out the flesh with a spoon, leaving a 1/4 inch shell. Roughly chop the scooped-out flesh and set it aside. Place the zucchini boats in a baking dish.
Heat olive oil in a large skillet over medium-high heat. Cook the diced onion for 3 minutes until soft, then add the ground beef. Break it apart and cook for 6 to 7 minutes until fully browned. Drain any excess fat.
Add the minced garlic, chopped zucchini flesh, and drained diced tomatoes to the skillet. Stir in the Italian seasoning, salt, black pepper, and red pepper flakes. Cook for 3 to 4 minutes until the zucchini softens and the mixture comes together.
Remove from heat and stir in 1 cup of the shredded mozzarella cheese until melted and combined.
Spoon the beef mixture generously into each zucchini boat, packing it in and mounding it slightly. Sprinkle the remaining 1/2 cup mozzarella cheese on top.
Cover the baking dish with foil and bake for 20 minutes. Remove the foil and bake for another 10 minutes until the cheese is golden and the zucchini is tender.
Let cool for 3 minutes, then top with fresh basil and serve.