Prep the lettuce: Rinse and pat dry your romaine hearts or butter lettuce leaves. Keep the larger leaves intact to create sturdy cups. Set aside on a towel to air dry while you cook.
Make the seasoning: In a small bowl, mix 1.5 tablespoons chili powder, 1 teaspoon cumin, 1 teaspoon paprika, 1 teaspoon oregano, 1/2 teaspoon onion powder, 1/2 teaspoon garlic powder, 1 teaspoon salt, 1/2 teaspoon black pepper, and a pinch of cayenne.
Adjust to taste.
Sauté aromatics: Heat 1 tablespoon oil in a large skillet over medium heat. Add the chopped onion and cook 3–4 minutes until softened. Stir in the minced garlic and cook 30 seconds until fragrant.
Brown the beef: Add the ground beef to the skillet.
Break it up with a spatula and cook until no longer pink, about 5–6 minutes. If there’s excess grease, spoon some off, but leave a little for flavor.
Season and simmer: Sprinkle the taco seasoning over the beef. Stir in 1 tablespoon tomato paste and 1/4 cup beef broth or water.
Simmer 2–3 minutes until saucy but not watery. Taste and adjust salt or heat.
Finish with lime: Squeeze in half a lime and stir. This brightens the beef and balances the spices.
Assemble the wraps: Lay out lettuce leaves.
Spoon warm beef into each cup. Top with shredded cheese, avocado, sour cream, salsa, cilantro, and jalapeños if using.
Serve: Add extra lime wedges on the side. Eat right away while the lettuce is crisp and the beef is hot.