In a small bowl, whisk together olive oil, lime juice, chili powder, garlic powder, onion powder, cumin, salt, black pepper, smoked paprika, and lime zest to create a marinade.
Place the flank steak in a large resealable plastic bag or a shallow dish. Pour the marinade over the steak, ensuring it is well coated. Seal the bag or cover the dish and refrigerate for at least 1 hour, or up to 8 hours for maximum flavor.
Preheat your grill or grill pan over medium-high heat.
Remove the steak from the marinade and let any excess marinade drip off. Discard the remaining marinade.
Grill the steak for about 4-5 minutes on each side for medium-rare, or until it reaches your desired doneness.
Remove the steak from the grill and let it rest for 5-10 minutes before slicing against the grain.
Garnish with fresh cilantro and serve.