Prepare the Marinade: In a large bowl, combine the juice and zest of 2 limes, 2 tablespoons of olive oil, minced garlic, chopped cilantro, smoked paprika, ground cumin, and red chili flakes if using. Add salt and pepper to taste. Mix well to combine all the ingredients.
Marinate the Meat: Place the top round steak in a resealable plastic bag or a shallow dish. Pour the marinade over the meat, ensuring it is well-coated. Seal the bag or cover the dish with plastic wrap. Marinate in the refrigerator for at least 2 hours, turning the meat occasionally to ensure even marination.
Preheat the Grill Pan: Before cooking, remove the meat from the refrigerator and let it come to room temperature for about 20 minutes. Preheat a grill pan on high heat for at least 7 minutes until it is smoking hot.
Cook the Meat: Remove the steak from the marinade and let any excess marinade drip off. Place the steak on the preheated grill pan. Cook for about 5 minutes on each side for medium-rare, or adjust the time to your preferred level of doneness. Flip the steak every 5 minutes to ensure even cooking and a nice char on both sides.
Rest and Serve: Once cooked to your desired doneness, transfer the steak to a cutting board and let it rest for about 5 minutes. This allows the juices to redistribute throughout the meat. Slice the steak against the grain into thin strips.
Serve Hot: Serve the carne asada hot, garnished with extra cilantro if desired. Pair it with your favorite sides such as rice, beans, tortillas, or a fresh salad.