Prep the zucchini “noodles”: Trim ends and slice zucchini lengthwise into thin, even strips. A mandoline works best. Lay strips on paper towels, sprinkle lightly with salt, and let sit 15–20 minutes to draw out moisture.
Pat very dry. For extra insurance, you can quickly grill or bake the strips for 5–7 minutes at 400°F to reduce moisture further.
Make the meat sauce: Heat olive oil in a large skillet over medium heat. Add onion and cook 3–4 minutes until softened.
Stir in garlic for 30 seconds. Add ground beef and cook, breaking it up, until browned. Drain excess fat if needed.
Stir in marinara, oregano, basil, red pepper, salt, and pepper. Simmer 5–10 minutes to thicken slightly.
Mix the ricotta layer: In a bowl, combine ricotta, egg, Parmesan, a pinch of salt, and black pepper. Stir until smooth.
Preheat the oven: Set to 375°F (190°C).
Lightly oil or spray a 9x13-inch baking dish.
Assemble the lasagna: Spread a thin layer of meat sauce on the bottom of the dish. Add a single layer of zucchini strips, slightly overlapping. Dollop and spread some ricotta mixture over the zucchini, then sprinkle with mozzarella.
Repeat layers—sauce, zucchini, ricotta, mozzarella—until you run out, finishing with sauce and a generous layer of mozzarella and extra Parmesan on top.
Bake: Cover loosely with foil (tent it so it doesn’t stick to the cheese). Bake 20 minutes. Remove foil and bake another 15–20 minutes, until bubbling and the top is golden in spots.
Rest before slicing: Let the lasagna rest 10–15 minutes.
This helps it set and slice cleanly.
Garnish and serve: Add chopped basil or parsley if you like. Slice and enjoy.