In a large bowl, combine all of the marinade ingredients. Feel free to check for seasoning and add more salt and pepper if needed.
Place the flank steak in the bowl and coat on both sides with the marinade. Cover it and refrigerate for at least one hour, but preferably overnight.
Be sure to take the steak out of the fridge at least 30 minutes before cooking to ensure it cooks evenly. Cooking cold steak can cause it to seize up.
Heat some oil in a grill or cast iron skillet over medium-high heat. Add the steak to the skillet and cook for 3-4 minutes on each side.
Take the steak out of the skillet and let it rest for a few minutes. Slice it against the grain into strips, then cut those strips into small cubes.
Place the steak cubes back into the skillet and cook it for a few extra minutes and check for seasoning. Add more salt and pepper if needed.
Heat a little oil in a skillet and cook the tortilla for about 30 seconds. Flip it, add cheese, cover with a lid, and let the cheese melt for a few seconds. Remove the tortilla from the skillet, top it with the cooked steak cubes, and garnish with fresh cilantro, onions, lime juice, and your choice of hot sauce, avocado crema, or guacamole.