Prep the lettuce cups: Separate the lettuce leaves and rinse them.
Pat dry thoroughly so they stay crisp and don’t water down the filling.
Warm the pan: Heat the olive oil in a large skillet over medium heat. Add the chopped onion and cook 3–4 minutes until soft and translucent.
Add garlic and spices: Stir in the garlic and cook 30 seconds until fragrant. Sprinkle in chili powder, cumin, smoked paprika, oregano, salt, and pepper.
Stir to coat the onions.
Cook the chicken: Add the ground chicken, breaking it up with a spoon. Cook 5–7 minutes until no longer pink and lightly browned in spots.
Simmer with sauce: Pour in the tomato sauce and reduce heat to low. Let it simmer 2–3 minutes to thicken slightly and coat the chicken.
Finish with lime: Turn off the heat and stir in the lime juice.
Taste and adjust salt or spice to your preference.
Prep the toppings: While the chicken cools slightly, dice tomatoes and avocado, and chop red onion and cilantro. Grate cheese if using.
Assemble: Lay out the lettuce leaves. Spoon a generous amount of chicken into each cup.
Top with tomatoes, red onion, avocado, cilantro, and cheese if you like.
Serve: Add a dollop of sour cream or Greek yogurt and a dash of hot sauce. Serve immediately while the lettuce is crisp and the chicken is warm.