Prep the lettuce: Rinse and dry the lettuce leaves well. Keep the largest, cup-shaped leaves.
Pat completely dry so they hold their shape and don’t water down the filling.
Chop your add-ins: Dice onions, tomatoes, and any other toppings. Slice avocado last to prevent browning.
Sweat the aromatics: Heat a large skillet over medium heat. Add a little oil, then sauté the diced onion with a pinch of salt for 3–4 minutes until translucent.
Stir in minced garlic and cook 30 seconds until fragrant.
Brown the beef: Add ground beef to the skillet. Break it up with a spatula and cook until no pink remains, about 5–7 minutes. If there’s excess grease, drain or blot with paper towels.
Add tomato paste and spices: Stir in a tablespoon of tomato paste and cook for 1 minute to caramelize.
Add chili powder, cumin, smoked paprika, oregano, garlic powder, onion powder, salt, and pepper. Toss to coat the beef evenly.
Bloom with broth: Pour in a splash of broth (2–4 tablespoons). Simmer for 2–3 minutes until the liquid reduces and the beef turns saucy, not soupy.
Finish with a squeeze of fresh lime.
Taste and adjust: Add more salt, lime, or chili powder as needed. The beef should taste bold and slightly zesty.
Assemble the wraps: Lay out lettuce leaves. Spoon beef into each leaf, then top with tomatoes, red onion, avocado, cheese or Greek yogurt, salsa, and cilantro.
Add pickled jalapeños if you like heat.
Serve immediately: These are best eaten right after assembly while the lettuce is crisp and the beef is warm.