Prep your toppings and tortillas: Chop the onion, garlic, and any toppings you want.
Warm tortillas by wrapping them in foil and placing in a low oven, or heat them in a dry skillet until pliable. Hard shells can be warmed in the oven to crisp.
Brown the beef: Heat the oil in a large skillet over medium-high heat. Add the beef mince and break it up with a spatula.
Cook until well browned with some crispy bits, about 6–8 minutes. If there’s lots of fat, spoon off excess, leaving a little for flavor.
Soften the aromatics: Push the beef to one side. Add the chopped onion to the empty side and cook 2–3 minutes until translucent.
Stir in the garlic for 30 seconds until fragrant.
Season it right: Sprinkle in chili powder, cumin, smoked paprika, oregano, coriander, red pepper flakes (if using), salt, and pepper. Stir to coat the beef evenly. Toast the spices for 30–60 seconds to wake up their flavor.
Add tomato paste and liquid: Stir in the tomato paste until it stains the meat a deep red.
Pour in the stock or water. Bring to a gentle simmer and cook 3–5 minutes, stirring, until the liquid reduces into a glossy, slightly saucy mixture.
Taste and adjust: Add more salt, pepper, or chili powder as needed. Squeeze in a little lime juice for brightness.
The mixture should be savory, a bit tangy, and not watery.
Assemble the tacos: Fill warm tortillas or shells with a generous spoonful of beef. Top with lettuce, tomatoes, onion, jalapeños, cheese, sour cream, avocado, salsa, and coriander. Finish with a squeeze of lime.
Serve immediately: Tacos are best right away while the beef is hot and the tortillas are soft or shells are crisp.