Preheat and prep: Heat the oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish.
Salt the zucchini: Slice zucchini into half-moons about 1/4-inch thick.
Toss with 1 teaspoon salt and place in a colander for 10 to 15 minutes to draw out moisture. Pat dry.
Brown the beef: Heat 1 tablespoon olive oil in a large skillet over medium-high. Add ground beef, season with salt and pepper, and cook until browned, breaking it up with a spoon, about 6 to 8 minutes.
Drain excess fat if needed.
Sauté aromatics: Push beef to the side. Add the remaining 1 tablespoon olive oil, onion, and a pinch of salt. Cook 3 to 4 minutes until softened.
Stir in garlic for 30 seconds.
Build the sauce: Add tomato sauce, tomato paste, Italian seasoning, smoked paprika, and red pepper flakes. Simmer 3 to 5 minutes until slightly thickened. Taste and adjust salt and pepper.
Lightly cook the zucchini: In a separate skillet, briefly sauté the zucchini over medium heat 3 to 4 minutes to drive off moisture, or microwave for 2 minutes and pat dry.
You want them just starting to soften, not fully cooked.
Make the topping: In a bowl, whisk eggs, sour cream (or Greek yogurt), 1 cup shredded cheese, and half the Parmesan. Season with a pinch of salt and pepper.
Assemble: Spread half the zucchini in the baking dish. Top with half the beef mixture.
Repeat with remaining zucchini and beef. Spoon the cheesy topping over the surface and spread evenly. Sprinkle the remaining 1 cup shredded cheese and remaining Parmesan on top.
Bake: Bake uncovered 25 to 30 minutes, until the top is golden and the edges are bubbling.
Rest and serve: Let the casserole rest 10 minutes so it sets and slices cleanly.
Garnish with parsley or basil. Serve warm.