San Diego is the fish taco capital of the United States — and that's not a boast, it's a fact backed by geography. We're 20 miles from Ensenada, Mexico, the birthplace of the fish taco, and decades of cross-border culture have produced a taco scene unlike anywhere else in the country. We spent three months eating fish tacos across every neighborhood in the city — over 30 spots in total — to bring you this definitive list. No sponsored picks. No tourist traps. Just the best fish tacos in San Diego, ranked honestly.

The Best Fish Taco Spots in San Diego
  1. 01. Oscar's Mexican Seafood
  2. 02. Puesto
  3. 03. Tacos El Gordo
  4. 04. Blue Water Seafood
  5. 05. Ricky's Fish Tacos
  6. 06. Coni'Seafood
  7. 07. Lola 55
  8. 08. South Beach Bar & Grille
01
Classic Local Favorite Affordable

Oscar's Mexican Seafood

Multiple locations — Pacific Beach, Hillcrest, Mission Hills

The undisputed king of San Diego fish tacos.

Baja fish tacos San Diego Oscar's Mexican Seafood

Ask any San Diego local where to get the best fish taco and Oscar's will come up in the first breath. This no-frills, order-at-the-window seafood shack has been serving perfectly battered, perfectly fried Baja-style fish tacos for years, and nothing about the formula has changed — because nothing needs to.

The fish is fresh, the batter is light and crispy, the cabbage is cool and crunchy, and the crema-to-salsa ratio is exactly right. The shrimp tacos run a close second. Come hungry — the portions are generous and the prices are shockingly reasonable for the quality.

Order: Fish taco (fried), shrimp taco, and a side of their green sauce that you'll want to put on everything.

Price$4–$6 per taco
Best locationPacific Beach
VibeCasual, counter service
02
Upscale Creative

Puesto

La Jolla, Seaport Village, UTC

Gourmet tacos that justify every penny.

Puesto restaurant La Jolla San Diego tacos

Puesto occupies a different tier than Oscar's — it's sit-down, it's beautiful, and the tacos cost nearly double. But Puesto earns it. Their crispy shrimp and fish tacos use handmade blue corn tortillas, fresh-caught fish, and house-made salsas that change seasonally. The La Jolla location overlooks the ocean and is one of the best dining experiences in the city.

The line can get long on weekends — make a reservation or go for lunch on a weekday. Their house margarita pairs perfectly with the tacos, and the guacamole made tableside is worth the extra spend.

Order: The Crispy Baja Fish taco and whatever the seasonal special is. Don't skip the guacamole.

Price$8–$12 per taco
Best locationLa Jolla
VibeUpscale, date-worthy
03
Authentic Affordable

Tacos El Gordo

Chula Vista, Downtown San Diego

Straight from Tijuana — the most authentic taco experience in San Diego.

Tacos El Gordo San Diego authentic Mexican street tacos

Tacos El Gordo is a Tijuana institution that expanded north across the border, and it brought its entire operation with it. The assembly line setup, the adobada meat spinning on the trompo, the hand-pressed tortillas — it's as close to eating in Tijuana as you'll get without a passport. The fish and shrimp tacos are outstanding, but the real draw is the full menu of authentic Mexican street tacos.

Expect a line. It moves fast. The Chula Vista location is slightly less crowded than downtown. Cash is preferred but cards are accepted.

Order: Fish taco, shrimp taco, and an adobada taco to round out the experience.

Price$3–$5 per taco
Best locationChula Vista
VibeFast, authentic, busy
04
Local Gem Fresh Catch

Blue Water Seafood Market & Grill

Mission Hills

A fish market and taco counter in one — the freshest fish in the city.

Blue Water Seafood Market San Diego fresh fish

Blue Water is a fish market first and a restaurant second — which means the fish in your taco was swimming recently. The rotating daily catch means the menu changes based on what came in fresh, and you can choose from grilled, blackened, or fried preparations. It's a slightly more sophisticated take on the classic fish taco without losing any of the casual soul.

The Mission Hills neighborhood setting means it draws a mix of locals and in-the-know visitors. The lines at lunch can stretch out the door — worth every minute.

Order: Whatever fish is fresh that day, grilled with their house salsa verde.

Price$5–$8 per taco
Best locationMission Hills
VibeCasual, market-fresh
05
Budget Street Style

Ricky's Fish Tacos

Various pop-up locations, East Village

A street taco legend — follow the truck.

Food truck fish tacos San Diego street food

Ricky's started as a street cart operation and built a cult following entirely on the quality of one thing: an absolutely perfect Baja fish taco. The batter recipe is closely guarded, the fish is consistently fresh, and the whole operation feels like eating at a street cart in Ensenada. The price-to-quality ratio is unmatched in San Diego.

Check their social media for current locations — they pop up at farmers markets, breweries, and events around the city. Worth tracking down.

Order: Fish taco, full stop. That's the move.

Price$3–$5 per taco
Best locationCheck social media
VibeStreet cart, casual
06
Sit-Down Nayarit Style

Coni'Seafood

National City

Nayarit-style seafood that will ruin other fish tacos for you.

Coni Seafood San Diego Mexican seafood shrimp

Coni'Seafood serves the Nayarit style of Mexican seafood — a tradition from the Pacific coast of Mexico that's distinct from Baja-style tacos. The flavors are bolder, the preparations more complex, and the camarones culichi (shrimp in a cream and jalapeño sauce) is one of the greatest things you can eat in San Diego. The fish tacos here are outstanding but almost secondary to the full seafood menu.

It requires a drive to National City but is absolutely worth it. Bring a group — ordering a wide variety of dishes is the only way to experience everything this place does well.

Order: Fish taco, aguachile, and the camarones culichi to share.

Price$6–$10 per taco
Best locationNational City
VibeSit-down, festive
07
Chef-Driven Creative

Lola 55

East Village, Downtown

The most creative fish tacos in San Diego — for when you want something special.

Lola 55 chef-driven tacos San Diego East Village

Lola 55 is a James Beard Award-nominated taco restaurant that takes the humble fish taco and elevates it without losing its soul. Chef Claudette Zepeda-Wilkins brings a deeply personal, Mexican-American perspective to every dish — the Ensenada-style fish taco with habanero crema and pickled red onion is one of the most thoughtfully constructed tacos in the city.

The room is loud and lively, the mezcal selection is excellent, and the desserts (especially the churro with chocolate) are worth saving room for. Go with a group and order everything.

Order: Ensenada fish taco, scallop taco, and the house margarita.

Price$7–$11 per taco
Best locationEast Village
VibeTrendy, lively
08
Beachside Classic

South Beach Bar & Grille

Ocean Beach

Best fish tacos with an ocean view — the full San Diego experience.

South Beach Bar Grille Ocean Beach San Diego pier view

South Beach Bar & Grille sits steps from the Ocean Beach pier and serves solid, unpretentious fish tacos with a cold beer and an ocean breeze. It's not the most refined taco on this list, but eating a fish taco while watching the Pacific is a core San Diego experience that can't be replicated anywhere else.

The vibe is laid-back OB beach bar — surfboards on the walls, regulars at the bar, live music on weekends. The fish tacos are fresh, the beer is cold, and the view is free.

Order: Fish taco plate with a local IPA and a seat on the patio.

Price$5–$8 per taco
Best locationOcean Beach
VibeBeach bar, casual

Fish Taco FAQs

Where can I find the best fish tacos in San Diego?
The best fish tacos in San Diego are at Oscar's Mexican Seafood, Puesto, and Tacos El Gordo. Oscar's is the local favorite for classic Baja-style fish tacos, while Puesto elevates the taco with gourmet ingredients.
What makes a San Diego fish taco different?
San Diego fish tacos are inspired by Baja California-style tacos from Ensenada, Mexico. The classic version features battered and fried white fish in a corn tortilla, topped with shredded cabbage, crema, and salsa fresca.
How much do fish tacos cost in San Diego?
Fish tacos in San Diego typically cost between $3-$8 per taco. Street tacos and casual spots charge $3-$5, while sit-down restaurants charge $5-$8. Upscale spots like Puesto can charge up to $9-$12 for specialty fish tacos.
Is there a fish taco capital of the world?
Ensenada, Mexico is widely considered the birthplace of the fish taco. However, San Diego — due to its proximity to Ensenada — has developed its own world-class fish taco culture and is often called the fish taco capital of the United States.
Hungry for more San Diego food?
Explore our complete guide to eating and drinking in America's Finest City.
Explore San Diego →