One Man’s Exhaustive Search For The Best Fish Taco In San Diego

san diego fish tacos

Acclaimed food critic Jonathan Gold has written that "Entire religions have been founded on miracles less profound than the Ensenada fish taco."

If anyone ever heeds his call and founds a religion dedicated to the worship of the fish taco, they would certainly build the high church in Ensenada, a seaside city of 270,000 in the Mexican state of Baja California. It was there that, at some point in the middle of the 20th century, some forgotten culinary genius first put fried fish, cabbage, crema (a sort of thinner sour cream) and pico de gallo on a corn tortilla. And many still consider it the best place in the world for fish tacos.

But if Ensenada is the Mecca of this new faith, San Diego is its Medina. Legend has it that the first American to taste real fish tacos was a San Diego State student named Ralph Rubio. He tried them on a surfing trip to Baja in the '70s, and when he started serving them at a small walk-up stand in the San Diego neighborhood of Mission Bay in 1983, it inspired a fervor that consumed the city. (It also eventually allowed him to open 190 Rubio's taquerias in five states.) Today, fish tacos are almost as closely associated with San Diego as pizza is with New Haven and ribs are with Kansas City. They're served at virtually every Mexican restaurant in the city -- and at the majority of the other restaurants as well.

I've long been a huge fan of tacos, but most taquerias in Los Angeles, where I live, specialize in terrestrial meats -- carnitas, pastor, chorizo, carne asada, chicken mole -- so I had never personally witnessed the miracle of a perfect fish taco. I decided to drive south to San Diego to rectify that.

I polled friends from the area and scoured the Internet to put together an ambitious fish taco itinerary for the weekend. I avoided chains with locations outside San Diego, such as Rubio's and Wahoo's, and tried to pick places within a few blocks of the ocean. (After all, who wants to give up a parking spot at the beach to get lunch?) Having narrowed the playing field to 19 spots across the entire 50-mile length of the county, I embarked on a search for the perfect fish taco on the beaches of San Diego.

Before we dive in, a note on methodology. At each restaurant, I ordered a Baja fish taco; if offered a choice between grilled and fried fish, I always went with the more traditional fried. I always ate at least half the taco. I did not announce myself as a journalist. And I rated each taco on a totally subjective scale of one-to-five fish, with one being the worst and five being the best.

Here's the chronological course of events that unfolded on my quest. You can find a complete map of my journey at the bottom of the story. And if all you care about is the absolute best taco I ate -- which was very good indeed -- you can click here to skip straight there.

Norte Mexican Food and Cocktails

norte taco

My first stop was in Carlsbad, a manicured, tourist-friendly beach town at the northern edge of greater San Diego. My destination was Norte Mexican Food and Cocktails, one of those sprawling Mexican restaurants that have inhabited red-roofed adobe buildings in towns across America for decades. As a place to sit and enjoy the San Diego weather while nursing a Negra Modelo, it was perfectly pleasant. The same could not be said of their fish taco, which was wrapped in two corn tortillas so parched and crumbly that they could have been mistaken for stale Tostitos. The only miraculous thing about the fish within was its uncanny resemblance to cotton balls. To make matters worse, it cost $6.55, more than any other taco I tried over the weekend.

Location: 3003 Carlsbad Blvd, Carlsbad

Price: $6.55 each


It was an ill omen for the trip. I pressed on to Encinitas's scruffy, sleepy main drag North Coast Highway 101, to the Leucadia location of ...

Roberto's Mexican Food

robertos taco

Roberto's Mexican Food is a local chain of taquerias. One bite told me their fish taco was worlds better than the first one. The fish combined a nice crunch with a moist interior, and the crema and fresh-tasting pico de gallo were both top-notch. My only complaint? The taco was a little big. It was almost as vast and messy as a Chipotle burrito.

Location: 1900 N Coast Highway 101, Leucadia

Price: $2.99 each


Fish 101

fish 101 taco

Just a half mile down 101 was my next stop, Fish 101, a casual seafood joint decked out in the blond planks of wood made fashionable by Momofuku and Chipotle.

As befits a restaurant specializing in seafood, the fish in my taco -- cod -- tasted fresh and bright. It was nicely cooked, too, with a delicate crunch. As a taco, it suffered from a couple structural flaws: too much greenery and pico de gallo and a tortilla that fell apart halfway through eating.

Location: 1468 N Coast Highway 101, Leucadia

Price: $3.75 each


Karina's Taco Shop

karinas taco

The next stop on my tour, Karina's Taco Shop, had the gloomy feel, plasticky turquoise booths and whacky typography of a place that hadn't been renovated since the early '90s. The food was scarcely more inspiring. The fish in my taco had the industrial rectangularity of a frozen fish stick. It was served with a lemon wedge instead of a lime wedge. And it was topped with overly soggy cabbage and a pico de gallo that was so cloying it could have been ketchup. Only a surprisingly solid tortilla kept it from plumbing the depths of the taco at Norte.

Location: 916 N Coast Highway 101, Encinitas

Price: $2.85 each


Kotija Jr. Taco Shop

kotija taco

Another source of the glum vibe at Karina's may have been its proximity to the bustling Kotija Jr. Taco Shop. When I visited, every table was taken and the line to order at the counter stretched out the front door. And no wonder: Kotija Jr. served the best fish tacos of the northern part of my journey.

Kotija Jr., like Roberto's, hewed closely to the classic formula developed in Ensenada. But a smaller size and a scanter covering of vegetation let the taste and texture of the fish shine through more clearly than at Roberto's. (And also made it easier to eat.) This was clearly an excellently made taco, without any obvious flaws -- though I had a hunch that the best was still to come.

Location: 852 N Coast Highway 101, Leucadia

Price: $2.99 each


Juanita's Taco Shop

juanitas taco

Juanita's feels straight out of Thomas Pynchon's "Inherent Vice" -- a place where almost everyone was wearing a stoned grin, a swimsuit or (often) both. One man had on nothing above the chest except a straw hat. Another had obviously come straight from a morning of surfing; the arms of his still-damp wetsuit dangled from his waist.

A friend warned me in advance that Juanita's, though excellent, is not known for its fish tacos. Sure enough, most of the other diners were eating carnitas, carne asada or other terrestrial meats. I could see why, once I got my fish taco. The outside of the fish was flabby rather than crisp, and the cabbage had been swapped out for iceberg lettuce.

Location: 290 N Coast Highway 101, Encinitas

Price: $2.45 each


Bull Taco

bull taco exterior

I drove right past my next stop, the Cardiff location of Bull Taco, twice before figuring out where it was -- inside the campground at San Elijo State Beach. The location was well worth the search. It's perched on a bluff with a dramatic view of the beach. Every seat on the patio has a ravishing view of the sand and waves below.

bull taco

Bull Taco's motto is "Inauthentic Mexican"; they specialize in tacos with toppings like Lobster Bacon Chorizo and Duck Confit. But I was bound to my mission to order the basic fish taco. It lived up to the shop's motto. The fish (mahi-mahi) was grilled and topped with cotija cheese, shredded lettuce and some sort of orange sauce. These innovations did not improve the taco -- they just made it fussy and overwrought.

Location: 2050 S Coast Highway 101, Cardiff

Price: $3.75 each


The Brigantine

brigantine taco

The last stop in the North County wing of my trip was The Brigantine in Del Mar, part of a local chain of posh, old-fashioned seafood restaurants. It was the only place I visited with valet parking, and the only one where the majority of the diners were wearing collared shirts, but I tried not to let its formality cloud my judgment.

There was, indeed, a lot to like about this taco. The corn tortilla was moist. The cabbage and the tomatoes in the pico de gallo were more vibrant than most others. And the fish's golden crust and flaky interior would have passed muster with the pickiest of fish and chip aficionados. Sadly, The Brig made one huge mistake: they showered the taco with shredded cheddar cheese, pushing the whole flavor palate too far toward the rich, greasy end of the spectrum. There's a reason the classic recipe doesn't call for cheese, and it's not that the inventors were afraid of making the fish taco too delicious.

Location: 3263 Camino Del Mar, Del Mar

Price: $10 for two.


Now it was time to venture into La Jolla, the home of $10 valet parking, retired Mitt Romney and one of the most dramatic coastlines in the country:

la jolla cove

I tried to visit George's Ocean Terrace, the rooftop bar area of a ritzy restaurant with a view of La Jolla Cove, but was told that I would have to wait an hour and a half for a table. With the sunlight waning, I decided to move on to ...

Puesto Mexican Street Food

puesto taco

The restaurant punchy graphic design and spare industrial decor at Puesto Mexican Street Food wouldn't have been out of place in Brooklyn -- but its fish tacos would have. They were great. The fish was so crunchy that the sound of biting into it interrupted my neighbors' conversations. The accoutrements were nicely balanced, and included an unusual spicy salsa rojo in addition to the regular pico de gallo. The taco's only major flaw was its size: it was as diminutive as a Mexico City-style street taco. If the tacos at Roberto's and Kotija Jr. were too large, this one was too small. I gulped it down in three bites.

Location: 1026 Wall St, La Jolla

Price: $4 each or $11 for three


El Pescador

el pescador taco

My final stop of the day was El Pescador, a half-mile south of La Jolla's tony central drag. It's first and foremost a fish market, selling gemlike filets of sushi-grade yellowtail for $16.95 a pound, but they also have a small menu of cooked food, including fish tacos. They were grilled, rather than fried, and were served sans crema and limes -- some serious handicaps. But the fish in the tacos was fresh and pure-tasting, covered in a blanket of avocado slices, making them a refreshing break after nine heavy tacos in a row.

Location: 627 Pearl St, La Jolla

Price: $8.95 for two


At the end of day one, I felt extremely full -- and glad to have found three places with very good tacos. But I also felt a little trepidation; as good as the tacos at Roberto's, Kotija Jr and Puesto had been, none was what I had in mind as the platonic ideal of the fish taco. And none was better than the best fish tacos I could get in Los Angeles. I couldn't help but worry that I had driven hundreds of miles in vain.

★ Bahia Don Bravo ★

bahia don bravo taco

My fears were allayed the next morning, when I visited Bahia Don Bravo, a bare-bones Mexican restaurant at the ragged southern edge of La Jolla. It was already packed at 10:30 a.m. -- and many of the other customers were ordering fish tacos. If you think fish tacos are a poor choice of breakfast food, you haven't tried the ones at Bahia Don Bravo.

They avoided all the flaws that had marred even the best of the prior day's tacos. The fish was crisp outside but moist inside. The tortillas didn't crack. There were no extraneous ingredients. The tacos were neither too big nor too small. The only deviations from the classic form were an extra-rich crema and cabbage that was shredded more finely than normal -- and you could argue that these were improvements.

I ordered a second taco to confirm that it was really as good as I first thought. It was. What made it all the more impressive was that, at $1.49 each, it was the cheapest fish taco of the trip so far. I wasn't quite ready to say this was the perfect fish taco -- but it was certainly the best I'd ever had.

Location: 5504 La Jolla Blvd, La Jolla

Price: $1.49 each


Oscar's Mexican Seafood

oscars taco

Bahia Don Bravo set a high bar for day two -- but if any place was up to the challenge, it was Oscar's Mexican Seafood in North Pacific Beach, my first stop in San Diego proper. It was the place that locals cited most frequently when I asked to find the best fish tacos.

I could definitely see why it was a popular favorite. Oscar's serves a garishly delicious taco, packed full of spicy, rich, bright, tangy and briny flavors. But its tall heaping of garnishes and sauce spilled all over the place and obscured the taste and texture of the fish. It was one of the best-tasting fish tacos of the trip -- but it lacked the structural rigor of the tacos at Bahia Don Bravo.

Location: 703 Turquoise St, North Pacific Beach

Price: $1.99 each


Elated with the one-two punch of Bahia Don Bravo and Oscar's, I drove down to Pacific Beach, the heart of San Diego's youthful surf culture. The broad sand beach here is edged by a boardwalk bustling with ice cream shops and boogie board vendors. The overall vibe is "beach paradise."

pacific beach

As fun a place as Pacific Beach is to walk around, I never found great fish tacos there. The first of my three stops was...

Taco Surf PB

taco surf taco

The owners of Taco Surf PB took great pains to establish a maritime vibe in their restaurant, hanging dozens of surfboards from the walls. If only they had paid as much attention to the fish tacos. They were served, blasphemously, on flour tortillas. More damningly, the fish inside wasn't fresh. Alone among the fish filets I tried all weekend, it had the powerfully dank, fishy taste and smell that comes from being out of the water too long. Yuck.

Location: 4657 Mission Blvd, Pacific Beach

Price: $2.55 each


Fat Fish Cantina Grill

fat fish

Fat Fish Cantina Grill, three blocks south, gets points for being a comfortable restaurant with friendly service and a big parking lot, in a neighborhood where such things are few and far between. And their fish taco at least featured fresh-tasting fish. But their flour tortilla covered in melted cheddar cheese set off some major Gringo Alarms. The whole taco was also confusingly wet; a milky cocktail of crema and pico de gallo juice dripped down my hands as I ate.

Location: 4474 Mission Blvd, Pacific Beach

Price: $3.25 each


La Playa Taco Shop

la playa taco

There are two reasons La Playa Taco Shop was crowded when I visited on a sunny Sunday afternoon: It's a cute-looking little place and it's a couple hundred feet off the boardwalk. The flip-flop wearing masses certainly weren't there for the excellent fish tacos, which featured Spanish rice of all things. Rice doesn't belong in any taco, but it's especially out of place in a fish taco. This one was also topped with cotija cheese. A decently well-cooked piece of fish couldn't save it from that double-whammy.

Location: 3973 Mission Blvd, Pacific Beach

Price: $2.50 each


South Beach Bar and Grille

south beach taco

Three bad tacos in a row made me glad to leave Pacific Beach for its counterpart on the other side of San Diego Bay, Ocean Beach. I had high hopes for the neighborhood's South Beach Bar and Grille; it was probably second only to Oscar's in the amount of praise I'd heard from locals. I'd heard specifically that it had been a pioneer of the fish taco in the early '90s.

It seemed, from my visit, like South Beach was still coasting on that reputation. My taco was another flour tortilla-wrapped abomination. The fish was mushy and topped with an off-putting mix of overly pungent pico de gallo and gloppy crema. (Or was it -- shudder -- sour cream?) At least I washed it down with an excellent Green Flash IPA off their solid list of local craft beers.

Location: 5059 Newport Ave, Ocean Beach

Price: $3.50 each


The last beachside stop on my tour was nearly 15 miles south, in Imperial Beach. I would have to go inland to get there -- passing right by two highly lauded fish taco vendors. I decided to stop at both despite my rule about proximity to the beach.

Blue Water Seafood Market and Grill

blue water grill tacos

First up was Mission Hills' Blue Water Seafood Market and Grill, which, like El Pescador, sells raw fish in addition to cooked. I'd been warned that the place was popular -- but that didn't prepare me for the insane queue that greeted me when I arrived at 3 in the afternoon. If someone had told me Dominique Ansel were selling Cronuts there that day, I wouldn't have been surprised.

Blue Water's key innovation is allowing diners to make fish tacos out of any kind of grilled fish they sell, from shark to soft-shell crab. So in addition to the classic fried fish taco required by my quest, I ordered one made with local white sea bass, a $7 special. Both tacos were served, aggravatingly, on flour tortillas. And the toppings were nothing special. But the fish tasted like it had leapt from the Pacific moments before. It wasn't just neutral, like the fish at most of the other taquerias I visited -- it had the clean, full, briny flavor you'd expect of the fish at a place like Providence or Le Bernardin, which more than makes up for its shortcomings as a taco per se.

Location: 3667 India St, Mission Hills

Price: $5.25 each


★★ Mariscos German ★★

mariscos german exterior

After Blue Water Grill, I got back on the 5, cruised right past downtown and took the third-to-last exit before the Mexican border to get to the neighborhood of San Ysidro. I pulled into parking lot of a dusty strip mall and saw, parked next to a check-cashing store and a depressing-looking liquor store, Mariscos German, the sole truck on my itinerary.

After waiting in line behind several groups of Spanish speakers, I approached the window and was offered a free cup of tomato-y seafood soup: delicious. I ordered a pescado taco for just $1.25, the least I paid all weekend, and brought it over to one of the tables set up under a tent next to the truck. A visual inspection told me they stuck to the classic formula: corn tortilla, golden morsels of fish, a proper amount of cabbage, crema and pico de gallo. So far so good. Then I took a bite.

mariscos german closeup

My feelings about that bite, and all the subsequent bites of that miraculous taco, are probably summed up best by the all-caps notes I took standing in the parking lot:


What struck me, above all, was the fish. Its fried exoskeleton was as audibly crisp as any I'd had all weekend -- but its interior had the warm, luscious decadence of cooked foie gras. The tangy crema, lime juice and pico de gallo -- like the acid in a magnificent riesling -- kept it from tasting heavy. And the fresh corn tortilla combined a rough-hewn texture that echoed the crunch of the fried fish and a flavor mild enough to let the other ingredients shine through clearly.

As at Bahia Don Bravo, I ordered a second taco to confirm my first impressions. (A considerably more difficult task at my eighth stop of the day than at my first.) And it was really true. This was the real deal. This was the perfect fish taco. The reason I'd come to San Diego.

Location: 3269 Beyer Blvd, San Ysidro

Price: $1.25 each


mariscos german taco

I was tempted to end my trip on such a high note, but the entire reason I'd come to Mariscos German was that it was on the way to my last stop in Imperial Beach, the southwesternmost city in the lower 48.

imperial beach

I walked all the way out to the end of the pier in the photo above, nearly a quarter-mile out to sea, to get to my final destination...

The Tin Fish

tin fish taco

With such a ravishing location, The Tin Fish would probably be thronged even if all they sold was corn chips and popsicles. To judge by my fish taco, that might be a wise move. The flour tortilla was nearly as stiff as a piece of matzo, the fish wasn't much moister than that, and the whole thing was covered in a white sauce that tasted more like ranch dressing than proper crema. Maybe I was influenced by the contrast with my previous taco -- but this may have been the worst taco of the entire weekend.

Location: 910 Seacoast Dr, Imperial Beach

Price: $3.50 each


But did it matter, when the sky was cerulean and the air was clear enough to see all the way to Point Loma and the pier brimmed with amateur fisherman and the ocean was a perfect 72 degrees? It did not. After making it halfway through my 22nd fish taco of the weekend, I strolled back to the beach, set down my things, waded into the ocean, floated on my back, closed my eyes and remembered the perfection of the fish tacos at Mariscos German. I had become a convert to the Church of the Fish Taco, and this was my baptism.

Here's a map of my journey, if you want to replicate it yourself or get a sense of where I am at any given point in my narrative:

I'm sorry if I missed your favorite San Diego fish taco joint -- I'm sure it's great! But I'm only one man, so it would have been tough to visit more than 19 taquerias in one weekend. Please let me know in the comments or on Twitter where I should go next time; as a new acolyte of the faith, more pilgrimages to the holy land are sure to come.

Want to read more from HuffPost Taste? Follow us on Twitter, Facebook, Pinterest and Tumblr.