Preheat and prep. Heat your oven to 400°F (200°C). Line a baking sheet or 9x13 baking dish with parchment for easy cleanup.
Hollow the zucchini. Trim the ends and slice zucchini lengthwise.
Use a spoon to scoop out the centers, leaving about 1/4-inch walls. Reserve about half of the scooped flesh, finely chop it, and pat dry with paper towels.
Season the boats. Lightly brush the zucchini shells with oil and sprinkle with salt and pepper. Arrange cut side up on your tray.
Par-bake for structure. Bake the empty zucchini boats for 8–10 minutes.
This helps them soften slightly and reduces wateriness later.
Brown the meat. While the boats bake, heat a large skillet over medium-high with a drizzle of oil. Add the ground meat, breaking it up as it cooks. Season with salt and pepper.
Cook until browned and nearly cooked through, 5–7 minutes. Drain excess fat if needed.
Sauté aromatics. Push the meat to the sides and add onion and garlic to the center. Cook 2–3 minutes until fragrant and softened.
Stir in the chopped zucchini flesh and cook another 2 minutes to reduce moisture.
Spice it up. Add taco seasoning and tomato paste. Stir to coat everything. Pour in broth and simmer 2–3 minutes, scraping up any browned bits.
The mixture should be thick, not soupy. Adjust salt, pepper, and heat with chiles or jalapeño if using.
Fill and top. Spoon the taco meat into the par-baked zucchini boats, mounding it slightly. Sprinkle generously with shredded cheese.
Bake to finish. Return to the oven for 10–12 minutes, until the zucchini is tender and the cheese is melted and bubbly.
For extra color, broil 1–2 minutes at the end.
Add fresh toppings. Cool for a few minutes. Garnish with cilantro, green onions, a dollop of sour cream, and sliced avocado right before serving or after reheating.
Portion for meal prep. Divide into airtight containers. Add lime wedges and toppings in separate little cups to keep textures fresh.