Preheat and prep the pan: Heat the oven to 400°F (200°C). Lightly oil or spray a 9x13-inch baking dish.
Slice the zucchini: Using a mandoline or a sharp knife, slice zucchini lengthwise into 1/8-inch-thick planks.
Aim for uniform slices so they cook evenly.
Draw out moisture: Lay the zucchini planks on a sheet pan lined with paper towels. Sprinkle lightly with salt. Let sit 10–15 minutes to release water, then blot well.
This keeps the casserole from getting soupy.
Par-cook the zucchini (optional but helpful): Arrange planks on two sheet pans, brush with a little oil, and bake for 6–8 minutes until just pliable. Pat dry again. This step further reduces moisture.
Cook the filling: Warm oil in a large skillet over medium heat.
Add onion and cook 3–4 minutes until softened. Stir in garlic for 30 seconds.
Brown the meat: Add ground beef, breaking it up as it cooks. Season with salt, pepper, chili powder, cumin, paprika, and oregano.
Cook until no pink remains, about 6–8 minutes. Drain excess fat if needed.
Add sauce and cilantro: Stir in the enchilada sauce and half the cilantro. Simmer 2–3 minutes to marry flavors.
Taste and adjust seasoning.
Layer the casserole: Spread a thin smear of sauce from the skillet across the bottom of the baking dish. Add a layer of zucchini planks, slightly overlapping. Spoon half the meat mixture over the zucchini.
Sprinkle with half the Mexican blend cheese. Add a second layer of zucchini, the remaining meat, and the remaining Mexican blend cheese. Top with one final layer of zucchini.
Add the finishing cheese: Sprinkle mozzarella evenly over the top.
Add olives and jalapeño slices if using.
Bake: Cover loosely with foil (tent it so it doesn’t stick to the cheese) and bake 15 minutes. Remove foil and bake another 10–12 minutes, until bubbly and lightly browned.
Rest before slicing: Let the casserole rest 10–15 minutes. This helps it set and slice cleanly.
Garnish and serve: Sprinkle with remaining cilantro.
Serve with sour cream and avocado if you like.