Preheat oven to 375°F (190°C) and lightly grease a 9×13-inch baking dish. Slice zucchini into ¼-inch rounds, sprinkle with salt, let sit 10 minutes, then pat dry.
Heat olive oil in a skillet, sauté onion 2–3 minutes, add garlic for 1 minute, then cook beef until browned and drain fat.
Stir in crushed tomatoes, tomato paste, basil, oregano, red pepper flakes, salt, and pepper; simmer 5–7 minutes.
Layer sauce and zucchini slices in the dish, finishing with sauce, then top with mozzarella and Parmesan.
Bake 25–30 minutes until bubbly and golden, or broil briefly for a crisp top. Cool 10 minutes before serving.