Prep the zucchini “noodles”: Preheat the oven to 400°F (200°C).
Slice zucchini lengthwise into 1/8–1/4-inch thick planks using a knife or mandoline. Lay them on paper towels, sprinkle lightly with salt, and let sit 15 minutes to draw out moisture.
Roast the slices: Pat the zucchini dry, brush lightly with olive oil, and arrange on two lined baking sheets. Roast for 10–12 minutes, flipping halfway, until pliable and lightly golden.
This step prevents watery lasagna.
Make the meat sauce: Heat a tablespoon of olive oil in a large skillet over medium heat. Sauté onion until translucent, about 3–4 minutes. Add garlic and cook 30 seconds.
Add ground meat, breaking it up as it browns. Season with salt, pepper, Italian seasoning, and red pepper flakes if using.
Finish the sauce: Stir in tomato paste and cook 1 minute. Add marinara, reduce heat, and simmer 8–10 minutes until slightly thickened.
Taste and adjust seasoning.
Mix the ricotta layer: In a bowl, combine ricotta, egg, half the Parmesan, a pinch of salt and pepper, and a tablespoon of chopped basil or parsley. Stir until smooth.
Assemble the lasagna: Lower oven to 375°F (190°C). In a 9x13-inch baking dish, spread a thin layer of meat sauce.
Add a single layer of zucchini slices, slightly overlapping. Dollop and spread a third of the ricotta mixture, sprinkle with mozzarella, then add sauce. Repeat layers—zucchini, ricotta, mozzarella, sauce—until you run out, finishing with sauce and the remaining mozzarella and Parmesan.
Bake: Cover loosely with foil (tented so it doesn’t touch the cheese) and bake 20 minutes.
Uncover and bake another 10–15 minutes, until bubbly and golden on top.
Rest and serve: Let the lasagna rest 10–15 minutes before slicing. This helps it set and hold together. Garnish with fresh basil or parsley.