Preheat your oven to 350°F (175°C).
In a large skillet over medium heat, cook the ground beef, onion, and garlic until the beef is browned and the onion is soft, about 5-7 minutes. Drain any excess fat.
Stir in the chili powder, cumin, salt, and black pepper. Cook for an additional 2 minutes.
Remove the skillet from heat and mix in the refried beans until well combined.
Spread 1/2 cup of the enchilada sauce evenly on the bottom of a 9x13 inch baking dish.
To assemble the enchiladas, place about 1/4 cup of the beef and bean mixture in the center of each tortilla. Sprinkle with a little cheese, then roll the tortilla tightly and place seam-side down in the baking dish.
Once all tortillas are filled and placed in the dish, pour the remaining enchilada sauce over the top and sprinkle with the remaining cheese.
Cover the dish with aluminum foil and bake for 20 minutes. Remove the foil and bake for an additional 10 minutes, or until the cheese is bubbly and golden.
Let the enchiladas cool for a few minutes before serving. Top with sour cream and garnish with chopped cilantro.