These easy fish tacos come together in 30 minutes with spice-rubbed tilapia, charred corn tortillas, and two homemade fish taco sauces: a creamy lime cilantro sauce and a spicy sriracha crema. Top with pineapple mango salsa, red cabbage, avocado, and cotija cheese.
Make the creamy lime cilantro sauce. Add the mayo, Mexican crema, cilantro leaves, scallions, jalapeño, garlic, lime juice, and salt to a blender and blend until completely smooth. Add a splash of water if needed to reach a pourable consistency. Transfer to a squeeze bottle if you like. Refrigerate until ready to use.
Make the spicy sriracha crema. Rinse out the blender, then add the mayo, Mexican crema, sriracha, garlic, lime juice, chili powder, and salt. Blend until smooth, adding a splash of water if needed. Transfer to a squeeze bottle if you like. Refrigerate until ready to use.
Season the fish. In a small bowl, combine the salt, chili powder, smoked paprika, garlic powder, black pepper, and cumin. Season both sides of the tilapia fillets with the spice mix.
Cook the fish. Heat the oil in a skillet over medium-high heat. Cook the fillets 3 to 4 minutes per side, until golden and flaky. Transfer to a plate and gently break into large pieces.
Warm the tortillas. Char 8 to 12 corn tortillas directly over an open flame until soft with light char spots, flipping often with tongs. Or warm them in a dry skillet. Place in a tortilla warmer or wrap in a clean towel to keep them warm and soft.
Assemble. Fill the warm tortillas with the fish, then add toppings as desired. Finish with the creamy lime cilantro sauce and the spicy sriracha crema. Serve with lime wedges.
Notes
I provide helpful step-by-step photos below this recipe card if you prefer a visual guide.
Fish options: Cod, tilapia, mahi mahi, halibut, snapper, and rockfish all work. If using frozen fish, thaw completely and pat very dry.
Pat the fish dry: The fish doesn’t need to be bone dry, but it can’t be soaking wet. This helps the fish develop a better golden crust and prevents steaming.
Don’t move the fish too soon: Let the fish sit undisturbed for several minutes before flipping it. This will also help with a golden crust.
Prep all toppings ahead of time: Have everything ready to go so you can eat your tacos as soon as the fish is done cooking!
Keep cabbage undressed: Because of the salsa, sauces, and other ingredients, the tacos are already pretty moist. Leaving the cabbage undressed will help by adding in some texture.
Chop off the cilantro leaves: You don’t need to sit there picking every single cilantro leaf! If you prefer, you can always find the part of the bunch where the leaves and stems meet and chop off the stems! Throw the cilantro leaves into your blender.
Char the tortillas over an open flame. Turn a gas burner to medium, lay the tortilla directly on the grate, and flip with tongs every few seconds until you see dark spots. This takes about 30 seconds per tortilla and gives you that street-taco flavor.
Variations
Taco Bowl: Feel free to skip the tortillas and put everything over rice! Serve fish tacos over my cilantro-lime black bean rice.
Burritos: Instead of tacos, make burritos instead! Add beans and rice if you like!
Sandwiches: If you’re feeling a sandwich instead, go right ahead! You can even put everything into pitas if you like.
How to store leftovers
Sauces: Refrigerate both in airtight containers or squeeze bottles for up to 5 days. Shake before using.
Fish: Refrigerate in an airtight container for up to 3 days. Reheat gently in a skillet over low heat so it doesn't dry out.
Tortillas: Char these fresh. Reheated charred tortillas turn tough.
Freezing: I don't recommend freezing the sauces. They're dairy-based, and they separate.
Make Ahead Tips
You can make both sauces a full day in advance, and I think the cilantro lime sauce tastes even better on day two.
Shred the cabbage, make the pineapple mango salsa, and mix the spice rub in the morning. Then dinner is just cooking the fish.