Prep your produce. Slice the onion and peppers into thin strips. Mince the garlic.
Keep everything ready by the stove so the cooking moves quickly.
Heat the skillet. Set a large skillet over medium-high heat and add the oil. When it shimmers, you’re ready to cook.
Brown the beef. Add the ground beef. Break it up with a spatula and cook until well browned, about 5–7 minutes.
Don’t stir constantly; let it sit in places to develop color.
Season the meat. Sprinkle in chili powder, cumin, smoked paprika, oregano, salt, pepper, and red pepper flakes if using. Stir to coat the beef evenly. Cook 1 minute until fragrant.
Deglaze. Pour in the beef broth or water.
Scrape up any browned bits from the bottom of the skillet. This adds a lot of flavor and moisture.
Add onions and peppers. Stir in the sliced onion and bell peppers. Toss to combine with the seasoned beef.
Cook until tender-crisp. Reduce heat to medium.
Cook 6–8 minutes, stirring occasionally, until the vegetables are softened but still have a little bite. Add the garlic in the last 1–2 minutes so it doesn’t burn.
Finish with lime. Zest the lime right into the skillet if you like, then squeeze in half to a whole lime, to taste. The acidity brightens everything.
Taste and adjust. Add a pinch more salt, pepper, or chili if needed.
If the pan looks dry, splash in a tablespoon of water.
Serve your way. Spoon into warm tortillas, pile over rice or cauliflower rice, or make fajita bowls with lettuce, avocado, and a dollop of Greek yogurt. Garnish with cilantro.