Set your oven to 375°F (190°C) to preheat while you prepare the filling and tortillas.
In a large skillet over medium heat, add the ground beef and cook until browned, breaking it up with a spatula as it cooks.
Drain excess grease if needed. Add the chopped onion and garlic, and sauté for 3-4 minutes until the onions are softened and fragrant.
Stir in chili powder, cumin, smoked paprika, salt, and pepper. Add the diced tomatoes and optional black beans, mixing everything together. Let the mixture simmer for about 5 minutes, allowing the flavors to blend.
To prevent your tortillas from cracking when you roll them, lightly warm them. You can wrap them in a damp paper towel and microwave for 30 seconds or heat them in a dry skillet over medium heat for a few seconds on each side.
Spread a thin layer of enchilada sauce at the bottom of the baking dish. Take each tortilla, spoon 2-3 tablespoons of the beef mixture down the center, and top with a sprinkle of cheese.
Roll the tortilla tightly and place it seam-side down in the prepared baking dish. Repeat with the remaining tortillas and beef mixture.
Pour the remaining enchilada sauce over the rolled tortillas, spreading it evenly. Top with the remaining shredded cheese.
Cover the baking dish with aluminum foil and bake in the preheated oven for 15 minutes. Remove the foil and bake for an additional 5-7 minutes until the cheese is melted and bubbly.
Remove the enchiladas from the oven and let them cool for a few minutes. Garnish with sour cream, green onions, cilantro, and black olives if desired. Serve hot and enjoy!