Preheat the oven. Set to 375°F (190°C).
Grease a 9x13-inch baking dish.
Sauté the aromatics. Heat oil in a large skillet over medium heat. Add onion and cook 3–4 minutes until softened. Stir in garlic and cook 30 seconds until fragrant.
Brown the beef. Add ground beef and break it up with a spatula.
Cook until no longer pink, about 6–8 minutes. Drain excess fat if needed.
Season the meat. Stir in chili powder, cumin, smoked paprika, oregano, salt, black pepper, and cayenne if using. Toast the spices for 30–60 seconds.
Add sauce and simmer. Pour in tomato sauce and beef broth.
Simmer 3–4 minutes until slightly thickened.
Fold in vegetables. Add diced bell pepper and zucchini. Cook 2–3 more minutes to soften slightly. Stir in sliced jalapeños if you want heat.
Create the creamy base. In a bowl, whisk cream cheese, sour cream, and lime juice until smooth.
If the cream cheese is too firm, microwave it for 10–15 seconds to soften.
Combine layers. Spread the creamy mixture evenly across the bottom of the prepared baking dish. Spoon the taco meat and veggies on top and spread into an even layer.
Add cheese. Sprinkle shredded cheese evenly over the meat mixture. For the best melt, use freshly shredded cheese.
Bake. Place the dish in the oven for 15–18 minutes, or until the cheese is melted and bubbly and the edges are lightly golden.
Finish and garnish. Let the casserole rest for 5 minutes.
Sprinkle with chopped cilantro and add any desired toppings like avocado, extra sour cream, or green onions.
Serve. Scoop into bowls or plates. It’s great on its own or with a simple side salad or cauliflower rice.