Make the sauce: Warm 2 tablespoons olive oil in a saucepan over medium heat.
Whisk in flour and cook 1 minute. Stir in chili powder, cumin, garlic powder, smoked paprika, and oregano for 30 seconds. Slowly whisk in tomato sauce and broth until smooth.
Simmer 5–7 minutes until slightly thickened. Stir in vinegar, then season with salt and pepper. Set aside.
Preheat and prep: Heat oven to 375°F (190°C).
Lightly coat a 9x13-inch baking dish with cooking spray or a touch of olive oil.
Cook the beef and veggies: Heat 1 tablespoon olive oil in a large skillet over medium-high. Add onion and bell pepper; cook 3–4 minutes until softened. Add beef and cook, breaking it up, until browned and cooked through, 5–6 minutes.
Drain any excess fat if needed.
Season the filling: Stir in 1 cup of the enchilada sauce, black beans, corn, and cilantro. Simmer 2 minutes to meld flavors. Taste and adjust salt and pepper.
Layer the casserole: Spread ½ cup sauce on the bottom of the baking dish.
Add a layer of tortillas to mostly cover. Spoon half the beef mixture over. Sprinkle with one-third of the cheese.
Repeat with tortillas, remaining beef, and another third of the cheese. Finish with a final tortilla layer, the remaining sauce, and the last of the cheese.
Bake: Cover loosely with foil and bake 15 minutes. Remove foil and bake another 8–10 minutes, until the cheese is melted and bubbly around the edges.
Rest and garnish: Let it rest 10 minutes so it sets for clean slices.
Top with green onions and more cilantro if you like. Serve with a spoonful of Greek yogurt or light sour cream and lime wedges.