We ate fish tacos off a plastic table on the side of a dirt road in Baja California, and I haven’t stopped thinking about them since.
There was no menu. Just a guy with a griddle, a cooler of fish, and a line of locals who clearly knew something we didn’t.
Silas ordered four. I ordered four. We ended up ordering four more.
That’s the kind of taco we’re making today. Crispy fish, a cold crunchy cabbage slaw, and a sauce that ties the whole thing together. No fancy equipment, no deep fryer smoking up your kitchen, just a hot pan and about 25 minutes.
I’ve made this one probably a dozen times since we got home, tweaking it each round until it finally tasted like that dusty little stand. This is the version that made Silas put his fork down mid-bite and just say “okay, wow.”
What You’ll Need
| Ingredient | Amount |
|---|---|
| White fish fillets (cod, tilapia, or mahi mahi) | 1.5 lbs |
| Chili powder | 1 tsp |
| Ground cumin | 1 tsp |
| Garlic powder | 1/2 tsp |
| Smoked paprika | 1/2 tsp |
| Salt | 1/2 tsp |
| Black pepper | 1/4 tsp |
| Olive oil | 2 tbsp |
| Green cabbage, shredded | 3 cups |
| Fresh cilantro, chopped | 1/4 cup |
| Lime, juiced | 2 |
| Mayonnaise | 1/2 cup |
| Sour cream | 1/4 cup |
| Hot sauce (I use Cholula) | 1 tbsp |
| Corn tortillas | 10-12 |
| Avocado, sliced | 1 |
| Cotija cheese, crumbled | 1/4 cup (optional) |
That’s genuinely it. Nothing exotic, nothing you have to hunt down at a specialty store.
Tools You’ll Need
- Large skillet or nonstick pan
- Mixing bowls (one for slaw, one for sauce)
- Fish spatula (a regular one works too, just be gentle)
- Small saucepan or grill pan for warming tortillas
- Citrus juicer (optional, but honestly makes life easier)
Pro Tips
Dry your fish before seasoning it. Pat it down with a paper towel first. Wet fish steams instead of getting that golden crust, and that crust is half the point.
Don’t walk away from the pan. White fish fillets cook fast, usually 3 to 4 minutes per side depending on thickness. Overcooked fish gets chalky and sad, and nobody wants sad fish in their taco.
Salt your cabbage early. Toss it with a pinch of salt and let it sit for 10 minutes before you add anything else. It softens the texture just enough and pulls out extra moisture so your tacos don’t get soggy.
Warm your tortillas over an open flame if you have a gas stove. It takes 15 seconds a side and genuinely changes the whole eating experience. Skip the microwave here.
Double the sauce. You will want it on literally everything else on your plate. Trust me on this one.
Instructions
- Season the fish. Pat your fillets dry, then mix the chili powder, cumin, garlic powder, smoked paprika, salt, and pepper in a small bowl. Rub it evenly over both sides of the fish.
- Make the slaw. In a large bowl, toss the shredded cabbage with a pinch of salt and let it rest for 10 minutes. Drain off any liquid, then mix in the cilantro and the juice of one lime.
- Whisk the sauce. Combine the mayonnaise, sour cream, hot sauce, and the juice of your second lime in a small bowl. Whisk until smooth. Taste and adjust the heat if you like things spicier.
- Cook the fish. Heat the olive oil in your skillet over medium-high heat. Once it’s shimmering, add the fish fillets. Cook for 3 to 4 minutes per side, until golden and flaky. Don’t move them around too much, just let that crust form.
- Rest and flake. Remove the fish from the pan and let it sit for 2 minutes, then break it into large chunks with a fork.
- Warm the tortillas. Heat each tortilla directly over a gas flame for 10 to 15 seconds per side, or in a dry skillet for about 30 seconds total.
- Assemble. Layer fish, cabbage slaw, avocado slices, and a generous drizzle of sauce onto each tortilla. Top with cotija if you’re using it.
- Serve immediately with extra lime wedges on the side.
Substitutions and Variations
| Original | Substitute | Notes |
|---|---|---|
| White fish | Shrimp | Cook 2 minutes per side, they finish faster |
| White fish | Blackened salmon | Richer flavor, still holds up well |
| Corn tortillas | Flour tortillas | Softer bite, less traditional |
| Mayonnaise | Greek yogurt | Lighter, tangier sauce |
| Cotija | Feta | Similar salty crumble |
| Cabbage | Shredded red cabbage | More color, slightly sharper bite |
| Fresh fish | Frozen fillets, thawed | Works great, just pat extra dry |
Make Ahead Tips
The slaw actually gets better after sitting in the fridge for an hour, so you can make that part up to a day ahead in a sealed container.
The sauce also holds well in the fridge for up to 4 days, so double it and keep some around for other meals (it’s great on grilled chicken too).
I wouldn’t season or cook the fish ahead of time though. Fish is best fresh off the pan, and reheating it tends to dry it out.
Diet-Friendly Swaps
- Gluten free: Corn tortillas are naturally gluten free, just double check your hot sauce label
- Dairy free: Swap the sour cream for coconut yogurt and skip the cotija
- Lower carb: Serve everything over a bed of shredded lettuce instead of tortillas
Nutrition (Per Taco, Estimated)
| Nutrient | Amount |
|---|---|
| Calories | 195 |
| Protein | 14g |
| Carbs | 15g |
| Fat | 9g |
| Fiber | 2g |
| Sodium | 260mg |
These numbers are estimates and will shift depending on the fish you use and how heavy handed you are with the sauce (no judgment here).
Leftovers and Storage
Store leftover fish and slaw separately in airtight containers in the fridge for up to 2 days. Keeping them apart stops the cabbage from getting soggy.
Reheat the fish gently in a skillet over low heat, just a couple minutes to warm it through without drying it out.
I’d skip freezing this one. The texture of the fish and the fresh cabbage just don’t hold up well after thawing.
FAQ
Can I bake the fish instead of pan searing it? Yes. Bake at 400°F for about 12 to 15 minutes, until the fish flakes easily with a fork. You’ll lose a bit of that crispy edge but it’s a solid hands-off option.
What’s the best fish for tacos if I can’t find mahi mahi? Cod and tilapia are both great, budget friendly options. Halibut works too if you want something a little more special.
Can I make this recipe dairy free? Yes, just swap the sour cream for a dairy free yogurt and skip the cotija, or use a dairy free cheese alternative.
How spicy is this recipe? Pretty mild as written. The heat comes mostly from the hot sauce in the topping, so add more or less depending on your spice tolerance.
Can I grill the fish instead? Definitely. Just make sure to oil your grates well since fish loves to stick, and use a fish basket if you have one.
Wrapping Up
This recipe brings me right back to that dusty roadside stand every single time I make it, and I hope it does something similar for you.
Give it a try this week and let me know how it goes in the comments below. And if you have any questions along the way, just ask, I’m happy to help.