Preheat your oven to 350°F (175°C).
In a large skillet over medium heat, add the ground beef, chopped onion, and minced garlic. Cook until the beef is browned, breaking it apart with a spatula, about 5-7 minutes.
Drain any excess grease from the beef, then stir in chili powder, cumin, paprika, salt, and black pepper. Cook for another 2-3 minutes until the spices are fragrant.
Remove the skillet from heat and mix the ricotta cheese into the beef until well combined.
Take a lettuce leaf and spoon about ¼ cup of the beef mixture into the center. Roll the leaf tightly to enclose the filling.
Place the rolled enchiladas seam-side down in a baking dish. Repeat with the remaining lettuce leaves and beef mixture.
Pour the salsa evenly over the top of the enchiladas, then sprinkle the shredded cheese over the salsa.
Cover the baking dish with aluminum foil and bake in the preheated oven for 20 minutes.
After 20 minutes, remove the foil and bake for an additional 10 minutes, until the cheese is melted and bubbly.
Remove from the oven and let cool for a few minutes before serving. Garnish with sour cream and fresh cilantro if desired.