Prep the lettuce “shells.” Gently separate the lettuce leaves, rinse, and pat completely dry. Keep the largest, cup-shaped leaves. Refrigerate them while you cook so they stay crisp.
Mix your seasoning. In a small bowl, combine chili powder, cumin, smoked paprika, garlic powder, onion powder, oregano, salt, pepper, and red pepper flakes.
Set aside.
Brown the beef. Heat a large skillet over medium-high. Add the oil, then the ground beef. Break it up with a spatula and cook until no longer pink, about 5–7 minutes.
Crisp the edges. Let the beef sit undisturbed for 1–2 minutes to brown, then stir.
Repeat once or twice. This creates those tasty crispy bits without drying it out.
Season and simmer. Sprinkle in the seasoning blend and stir to coat. Add tomato paste and 2–3 tablespoons of water or broth.
Cook 2–3 minutes, letting the sauce cling to the meat. Taste and adjust salt.
Make a quick sauce (optional). Stir together sour cream and mayo with adobo sauce and a squeeze of lime for a smoky chipotle crema. Or keep it simple with straight sour cream and lime.
Set up your toppings. Arrange cheese, avocado, jalapeños, onion, cilantro, and lime wedges in small bowls so everyone can build their own.
Assemble the tacos. Place a spoonful of beef in each lettuce cup.
Top with cheese (it will gently melt on the hot meat), avocado, onion, jalapeños, and a drizzle of crema. Finish with cilantro and lime juice.
Serve immediately. These are best when the lettuce is cold and crisp and the beef is hot and savory. Keep extra lettuce cups on the side for quick refills.