Prep the zucchini. Preheat your oven to 375°F (190°C).
Toss the sliced zucchini with a pinch of salt and spread it on a large baking sheet. Roast for 10–12 minutes to release extra moisture. Pat dry with paper towels.
This prevents a watery casserole.
Brown the beef. In a large skillet over medium-high heat, warm the oil, then add the ground beef and onion. Cook until the beef is browned and the onion is soft, about 6–8 minutes. Drain excess fat if needed.
Add aromatics and spices. Stir in the garlic, taco seasoning, salt, pepper, chili powder, and cumin.
Cook 1–2 minutes until fragrant. Mix in the salsa and let it simmer for another minute to combine.
Make the creamy layer. In a bowl, whisk together the sour cream and cream cheese until smooth. If the cream cheese is too firm, microwave it for 10–15 seconds to soften.
Season to taste with a pinch of salt.
Assemble. Lightly grease a 9x13-inch casserole dish. Layer half the roasted zucchini on the bottom. Add half the beef mixture, then half the creamy mixture, and sprinkle with one-third of the shredded cheese.
Repeat the zucchini, beef, and creamy layers. Finish with the remaining cheese on top.
Bake. Cover loosely with foil and bake for 15 minutes. Remove the foil and bake another 10–12 minutes, until the cheese is melted and bubbly with light golden spots.
Finish and serve. Let it rest for 10 minutes so it sets.
Sprinkle with cilantro and any optional toppings you like. Slice and serve warm.