Preheat your oven to 375°F (190°C) and lightly grease a 9x13-inch baking dish.
Heat olive oil in a large skillet over medium heat. Add diced onions and sauté for 3-4 minutes until translucent but not browned.
Add minced garlic and cook for another 30 seconds until fragrant.
Add the bell pepper and zucchini to the skillet, cooking for 5-6 minutes until they begin to soften.
Stir in the black beans, corn, and chopped spinach. Cook for 3-4 minutes until the spinach wilts completely.
Add cumin, chili powder, smoked paprika, oregano, and cayenne (if using). Season with salt and pepper to taste. Cook for 2 minutes to bloom the spices. Remove from heat and set aside.
In a medium saucepan, combine tomato sauce, tomato paste, minced chipotle, cumin, and garlic powder. Simmer for 5-7 minutes, stirring occasionally, until slightly thickened. Season with salt to taste.
Spread ½ cup of sauce on the bottom of the prepared baking dish. Warm tortillas briefly in the microwave (30 seconds) or oven to make them pliable.
For each enchilada, place about ⅓ cup of filling along the center of a tortilla, top with a sprinkle of cheese, then roll up tightly. Place seam-side down in the baking dish. Repeat with remaining tortillas.
Pour the remaining enchilada sauce evenly over the rolled tortillas. Sprinkle remaining shredded cheese on top.
Cover with foil and bake for 20 minutes. Then remove foil and bake for an additional 10-15 minutes until the cheese is bubbly and slightly golden.
Allow the enchiladas to rest for 5 minutes before serving.
Garnish with fresh cilantro, diced avocado, sliced green onions, and a dollop of Greek yogurt or sour cream. Serve with lime wedges.