It is surprising that the city of San Diego hasn’t erected a statue to Ralph Rubio. Because Rubio brought the fish taco to town and nothing – seriously, nothing – is treated with more reverence here than the fish taco.

Does a corn tortilla covered in fried fish, cabbage, crema and pico de gallo sound unremarkable? Well, don’t let this simple recipe fool you. Much can be done to the humble original to make it spectacular – the addition of salsa with just the right spice, the inclusion of cheese, the decision to add guacamole – and quite what should be included is the stuff of fierce debate.

The San Diego fish taco. Locals discuss it in hushed, passionate tones, they argue with zeal over where has the best and they will even give up their precious beachside parking space to drive inland for lunch at a taco stand they swear is the best in town. Things really ramp up on Taco Tuesday, when across the city tacos are on special offer and you won’t need more than a couple of dollars to join in.

Ralph Rubio may have taken the fish taco he found south of the border in Mexico onwards across America (his Rubio’s restaurants are now found in five states), but San Diego remains its heartland, and by far the best place to try one for yourself. So, where does serve the best fish tacos in San Diego? Here’s our take:

South Beach Bar and Grille

San Diego’s coastline is overdeveloped in parts, but Ocean Beach, just west of the city centre, has remained the classic Cali beach town, with its palm-lined avenues and long concrete pier (said to be the world’s longest, in fact). From here you could just about lob a flip flop through the window of South Beach Bar and Grille, the perfect place to watch the sun slip into the Pacific.

What to order

The taco selection here is divided into grilled and fried. Purists will only condone the latter, but we think the former is just as tasty, and at South Beach you really want to try the Mahi fish taco, which comes grilled. It also comes in a flour tortilla (though you can ask for corn), with cheese, red cabbage, salsa fresca and white sauce. The lobster (also grilled, of course) is another top choice, while fried fish fans should go for the pollock. Whatever you select, wash it down with a local San Diego craft beer, perhaps from AleSmith or a Green Flash.

South Beach Bar and Grillephoto credit: via

George's at the Cove

Though purists may argue the best tacos are always served from a hole in the wall walk-up, we reckon a fine dining restaurant can just as easily produce a winner – and George’s at the Cove is our evidence. This classy restaurant in the heart of upscale La Jolla is jam-packed with locals more or less constantly. High praise indeed, but also reason to book your table in advance.

What to order

Sunny? Then sit on the Ocean Terrace overlooking the Pacific and order the marinated and grilled fresh fish tacos, served with jalapeno lime mayonnaise, avocado, coriander and shredded cabbage. Want something different? Sit in the main restaurant, California Modern, and order the “fish tacos” (inverted commas intentional). Chef Trey Foshee has reinvented the classic here and for once, this works. Raw yellowfin tuna pieces dusted with crushed corn nuts sit on fried California avocado, surrounded by crema. Delicious and different.

Tacos in San DiegoImage courtesy of George's at the Cove

Taco Surf Taco Shop

Pacific Beach (or PB, to the locals) is all about the eponymous sea and sand, and you’ll see plenty of surfers bashing through the waves here. When hunger strikes they come here, to the Taco Surf Taco Shop and its surfboard-covered walls. It’s all about the food though, and you’ll smell it before you see it.

What to order

The burritos may be better-known (and the carne asada the stuff of local legend) but the fish tacos, served with fried or grilled fish, are the best in PB. Order them grilled and you’ll get the fish of the day, served on corn tortillas with cabbage, crema, mild salsa, rice and beans. If you want to keep things traditional, order the fried fish tacos, made with batter-fried pollock.

Puesto

Puesto means “the place” in Spanish, and this Mexican street food restaurant is certainly the place in many a local’s eyes when it comes to the best fish taco. This isn’t a place to linger (the acid orange, pink and green are, erm, dazzling) but it is the best Downtown San Diego has to offer and we reckon you’ll fid yourself coming back for more (not just because the tacos are a little on the small side, either).

Best tacos in San Diego

What to order

It has to be the Baja fish tacos, made with wild cod fried in a blood orange beer batter, shredded cabbage and avocado. The chile crema and tomatillo roja add a bit more spice than most fish tacos can muster and that kick makes these San Diego’s most moreish fish tacos. The tuna asada and lobster tacos are good choices too, or order the Tamarindo shrimp tacos, made with a tasty tamarindo-chile sauce.

Oscar's

This straightforward Mexican seafood joint opened in 2011 in PB and was an immediate hit with the locals. Now also in Hillcrest, it continues to pull in the crowds, so expect a wait – and some of the freshest fish in town. It’s cash only too, so bring plenty of greenbacks.

What to order

The battered fish taco is one of the best in town and comes covered in a heap of garnishes that add real flavour – and the need for plenty of napkins. Visit between 2.30pm and 5.30pm Monday-Thursday and it’s only 99 cents, too. Want a different flavour? Try the smoked fish taco or indulge in the especial – fish, shrimp and scallop served with cabbage, onion, tomato and coriander.

Tacos, San Diego

Point Loma Seafoods

Seafood should always be fresh, and the fresher the better. So, why not buy direct from the fisherman? That’s what does, every single day. And has been since 1963. The mission here is to serve “the freshest thing in town”. We reckon they’re succeeding. So you won’t mind ordering at the counter and taking your chances at grabbing a seat outside.

What to order

Tacos are only served as a duet here (unless they’re a side dish), so take the opportunity to have one fish, one shrimp. They’ll come with beans and salsa but don’t heap them too high, the fish can really speak for itself here. There are squid tacos too, so you may need to come back for more. Give in, and order another glass of the house Chablis.

Explore more of California with The Rough Guide to CaliforniaCompare flightsbook hostels or hotels for your trip, and don’t forget to purchase travel insurance before you go.  

Book your trip with Rough Guides

Tailor-made travel planned by local experts

At Rough Guides, we understand that experienced travellers want to get truly off-the-beaten-track. That’s why we’ve partnered with local experts to help you plan and book tailor-made trips that are packed with personality and stimulating adventure - at all levels of comfort. If you love planning, but find arranging the logistics exhausting, you’re in the right place.

Learn Morechevron_right

Book through Rough Guides’ trusted travel partners

Privacy Preference Center

Necessary

Mandatory - can not be deselected. Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID,aelia_cs_selected_currency,cookie_notice_accepted,RS,bp-message,bp-message-type,id,UIDR,w3tc_logged_out,__cfduid
__cfduid

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

__utma,__utmb,__utmc,__utmz,_ga,_gid,__atssc,__atuvc,__atuvs,di,dt,ssc,ssh,sshs,uid,uit,xt
__utma,__utmb,__utmc,__utmz,_ga,_gid
__atssc,__atuvc,__atuvs,di,dt,ssc,ssh,sshs,uid,uit,xtc

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

__gads,PISID, BEAT, CheckConnection TempCookie703, GALX, GAPS, GoogleAccountsLocale_session, HSID, LSID, LSOSID, NID, PREF, RMME, S, SAPISID, SID, SSID,__utmv, _twitter_sess, auth_token, auth_token_session, external_referer, guest_id, k, lang, original_referer, remember_checked, secure_session, twid, twll,c_user, datr, fr, highContrast, locale, lu, reg_ext_ref, reg_fb_gate, reg_fb_ref, s, wd, xs
__gads,PISID, BEAT, CheckConnection TempCookie703, GALX, GAPS, GoogleAccountsLocale_session, HSID, LSID, LSOSID, NID, PREF, RMME, S, SAPISID, SID, SSID
__utmv, _twitter_sess, auth_token, auth_token_session, external_referer, guest_id, k, lang, original_referer, remember_checked, secure_session, twid, twll
c_user, datr, fr, highContrast, locale, lu, reg_ext_ref, reg_fb_gate, reg_fb_ref, s, wd, xs