In a mixing bowl, whisk together lime juice, lime zest, olive oil, garlic, chili powder, smoked paprika, cumin, salt, black pepper, and red pepper flakes if using.
Place the flank steak in a resealable bag or shallow dish. Pour the marinade over it, ensuring the steak is evenly coated. Marinate for at least 2 hours or overnight for deeper flavor.
Preheat a grill or grill pan to medium-high heat. Remove the steak from the marinade and pat dry to help achieve a better sear.
Grill the steak for 4-5 minutes per side for medium-rare, adjusting for preferred doneness. Avoid overcooking as flank steak is best served slightly pink.
Transfer the steak to a cutting board and let it rest for 10 minutes before slicing thinly against the grain.
Serve warm with your favorite sides such as grilled vegetables, rice, or wrapped in tortillas.