Preheat oven to 375°F (190°C) and grease a 9×13-inch baking dish.
- In a skillet, heat olive oil over medium heat. Add onion and garlic; sauté until soft.
- Add ground beef and cook until browned. Drain excess fat if needed.
- Stir in diced tomatoes or tomato sauce, oregano, salt, pepper, and red pepper flakes. Simmer for 5–7 minutes.
- Lightly salt the zucchini slices and pat dry to remove excess moisture.
- Layer half the zucchini slices in the bottom of the baking dish. Top with half the beef mixture and ½ cup mozzarella.
- Repeat layers with remaining zucchini, beef, and 1 cup mozzarella. Sprinkle Parmesan on top.
- Cover with foil and bake for 20 minutes. Remove foil and bake for another 15–20 minutes until bubbly and golden.
- Let rest for 5–10 minutes before serving.