Yearning for some hot and delicious Mexican food while in San Francisco? Any of the following taquerias, food trucks, and restaurants will set you up nicely. Just choose your neighborhood and give into your craving.
Search by neigborhood:
2. Bernal Heights/Outer Mission
3. Castro/Duboce Triangle
4. Cole Valley
5. Cow Hollow
8. Haight Ashbury
9. Hayes Valley
10. Marina District
11. The Mission
13. Noe Valley
14. North Beach/Jackson Square
15. Pacific Heights
16. Portrero Hill
18. The Richmond
19. Russian Hill
21. Sunset District
22. Union Square
Nopalito could mean a small restaurant in NoPa or a little piece of nopal, an edible Mexican cactus. The play on words tells you what this place is about: it’s authentic Mexican, hence the cactus, in a hipster ‘hood. Order a blue corn quesadilla with summer squash or a skirt steak served with, yes, grilled cactus.
Hours of operation: Daily 11:30 AM – 10:00 PM
Address: 306 Broderick Street (also at 1224 9th Ave.)
Papalote Mexican Grill
This is the NoPa location for Papalote Mexican Grill (see review in The Mission).
Hours of operation: Mon-Sat 11:00 AM – 10:00 PM; Sun 11:00 AM – 9:00 PM
Address: 177 Fulton St.
The Little Chihuahua
The Little Chihuahua serves Cal-Mex cuisine with an extra Nor Cal sensibility: ingredients are sustainably sourced. Tacos with fillings like carnitas or wild mushrooms still come in at under $5 a piece, and grass-fed beef or garlic shrimp cost just a trifle more. You’ve also got four bean choices: pinto or black, straight up or refried. The quality ingredients come through in the lip-smacking taste.
Hours of operation: Mon–Fri 11:00 AM – 11:00 PM; Sat–Sun 10:00 AM – 11:00 PM
Address: 292 Divisadero St.
Bernal Heights/Outer Mission
El Buen Comer
Handmade tortillas, meatballs made savory with chilis and mint, and pork stew with a green mole sauce…You won’t find Cal-Mex here.You’ll find classic Mexican dishes as your grandmother might have made, were she Mexican, served in a modern dining room. El Buen Comer means good eating. You’ll do that here.
Hours of operation: Tues–Sat 11:00 AM – 3:00 PM & 5:00 PM – 10:00 PM; Sunday brunch 11:00 AM – 7:00 PM
Address: 3435 Mission St.
El Castillito is a no-frills taco and burrito place. The al pastor burritos are best but so darn big that, if you’re doing take-out and planning to walk a few blocks, you should place them in your backpack. They’re heavy!
Hours of operation: Sun–Thurs 10:00 AM – 11:30 PM; Fri–Sat 10:00 AM – 12:30 AM
Address: 136 Church St.
It’s a tiny little place where you order at the counter, but the menu and the very bright décor at Tacorgasmico are more exciting than your average taqueria. Sure, you can get a Mission-style burrito, but try the slow-cooked pork with Yucatan flavors for a change of pace.
Hours of operation: Mon–Thurs 5:00 PM – 10:00 PM; Fri–Sun 11:00 AM – 11:00 PM
Address: 2337 Market St.
This neighborhood restaurant serves up seasonally changing fare in a spacious, high-ceiling dining room. Padrecito uses local ingredients for plates like goat and manchego tacos or eggplant chilaquiles. With over 80 tequilas and mezcals, the bar has a friendly, early evening scene.
Hours of operation: Mon 5:30 PM – 9:30 PM; Tues-Thurs 5:30 PM – 9:45 PM; Fri-Sat 5:30 PM – 10:15 PM; Sun 5:00 PM – 9:30 PM
Address: 901 Cole St.
The colorful bottles behind the bar at this trendy spot are not all tequila. Besides a mean margarita, Flores makes Latin-inspired cocktails you haven’t seen elsewhere. The food also draws on unique Mexican recipes, like the crab with a crispy tortilla or the huitlacoche quesadilla with kale. (Long eaten in Mexico, huitlacoche — corn fungus or “smut” — is yet to catch on here. I wonder why?).
Hours of operation: Sun-Wed 5:00 PM – 10:00 PM; Thurs-Sat 5:00 PM – 11:00 PM; Sunday brunch 11:00 AM – 3:00 PM
Address: 2023 Union St.
The original owner of Nick’s Crispy Tacos went on to open this place in Cow Hollow. You can still order the tacos Nick’s way, with one crispy and one soft corn tortilla, topped with guacamole and sour cream. The vibe at this nautically-themed eatery and Tacko is committed to sustainable ingredients and makes a satisfying fish taco…as long as you have it Nick’s way.
Hours of operation: Sun–Thurs 11:30 AM – 10:00 PM; Sat–Fri 11:30 AM – 11:00 PM
Address: 3155 Fillmore St.
Located in a nondescript building, Glena's décor is spare and industrial, like the artist-studio-filled neighborhood around it. The pared-down menu includes a few quirky items like the fried chicken torta (sandwich) on organic bread and a bacon-wrapped hot dog with pickled jalapeño. Tacos come vegan, vegetarian, or meaty.
Hours of operation: Tues–Fri 11:30 AM – 2:30 PM & 5:00 PM – 10:00 PM; Sat–Sun 11:30 AM – 10:00 PM
Address: 632 20th St.
Mijita Cocina Mexicana
Chef Tracy des Jardins is an award-winning chef whose SF restaurants tend to be refined affairs. Mijita is the chill, casual place where des Jardins celebrate her Mexican grandmother’s cooking. Mijita serves up a hearty Mexi breakfast and tasty tacos made with sustainable produce and meats and still manage to come in under $5 a piece. Just note that the Ferry building closes early each night.
Hours of operation: Mon–Thurs 10:00 AM – 7:00 PM; Fri 10 AM – 8:00 PM; Sat 9:00 AM – 8:00 PM; Sun 9:00 AM – 3:00 PM
Address: San Francisco Ferry Building, #44
If you’re out and about and spot a [CLOSED] El Tonayense Taco Truck -, you’re in luck. El Tonayense has a few trucks around town, some of them busy catering a party. It’s the best of the basic taco trucks.
These are tasty tacos made on organic, handmade tortillas. It’s pretty much just tacos, burritos, and bowls but you can get creative and choose fillings like beef rib or nopal, which is the soft inside of a cactus. With two tacos for $7 ($9 for two fish or shrimp tacos), Street Taco is a deal.
Hours of operation: 11:00 AM – 10:00 PM
Address: 1607 Haight St.
Cala makes sophisticated dishes celebrating Mexico’s seafood and unique flavors. Start with grilled oysters spiced with the Mexican herb epazote and follow it with a mussel tamale with chilies and leeks.
Hours of operation: Sun-Wed 5:00 PM – 10:00 PM; Thurs–Sat 5:00 PM – 11:00 PM
Address: 149 Fell St.
This little counter at the back of Calas restaurant serves up savory tacos on house-made tortillas. Besides carne asada, Tacos Cala fillings include potatoes with roasted chilis or squid with squash. Try a plate of three tacos; you can’t eat just one.
Hours of operation: 11:00 AM – 2:00 PM
Address: 50 Hickory St.
This is my favorite quick Mexican in the Marina. Bonita Taqueria and Rotisserie’s chicken is muy rico, so this is one of the few times when ordering chicken in your burrito is the right call. That said, their shrimp tacos are also delish. For the flavor without the carbs, skip the tortilla and order a “Bonita bowl.”
Hours of operation: 11:00 AM – 10:00 PM
Address: 2257 Chestnut St.
Tacolicious transformed tacos from the cheap, take-out type to the tasty, share with friends and wash down with margaritas category. Bring your buddies so you can try tempting choices like fried avocado or house-made chorizo, or make new friends at the bar while you wait.
Hours of operation: Mon–Wed 11:30 AM – 11:00 PM; Thurs–Fri 11:30 AM – 12:00 AM; Sat 11:00 AM – 12:00 AM; Sun 11:00 AM – 11:00 PM
Address: 2250 Chestnut St. (also at 741 Valencia 11:30 AM – midnight daily)
This no-frills taco and burrito counter is a handy stop on your way home after the bars close. Toma’s meats are free-range and you can skip the gluten and order them up in a bowl. Specials include chicken mole Tuesdays and ceviche weekends.
Hours of operation: Mon–Thurs 11:00 AM – 10:00 PM; Fri 11:00 AM – 2:30 AM; Sat 10:30 AM – 2:30 AM; Sun 10:30 AM – 9:00 PM
Address: 3318 Steiner St.
Want Mexican without the meat? Gracias Madre is your place. Outside, what at first looks like a portrait of Jesus as you’d find in a Mexican chapel turns out to be an ode to Mother Earth. Plant-based tacos, organic bread tortas and veggie pozole stews are made rich and tasty with cashew crema, avocados, and toasted pepitas.
Hours of operation: 11:00 AM – 11:00 PM
Address: 2211 Mission St.
Loló brings everything together to make it one of SF’s best places for a festive dinner. The faux cheap décor pumps up the vibrant south-of-the-border colors, the cuisine of chef Jorge Martinez is excellent (the handmade tortillas alone are incredibly good), the service is friendly, and the vibe says “party.” Don’t worry about the long wait: give the host your cell number, grab a drink nearby, and come back when they’ve texted that your table’s ready.
Hours of operation: Mon–Thurs 5:30 PM – 11:00 PM: Fri–Sat 5:30 PM – 1:00 AM; Saturday brunch 11:30 AM – 4:00 PM; Sunday brunch 11:00 AM – 4:00 PM
Address: 974 Valencia St.
Papalote Mexican Grill is my go-to spot for an inexpensive and tasty burrito in the south side of the city. Parking is horrific and there’s always a line, so if you’re driving, call ahead to order a chicken mole burrito and then pull up to pick it up.
Hours of operation: Mon–Sat 11:00 AM – 10:00 PM; Sun 11:00 AM – 9:00 PM
Address: 3409 24th St.
La Taqueria is your classic cheap burrito spot. My favorite low-priced burrito in this neighborhood is at Papalote, but it’s one street over at 24th and Valencia Street. If you want to have a Mission-style burrito in The Mission on Mission Street itself, then have it at La Taqueria.
Hours of operation: Tues–Fri 11:00 AM – 9:00 PM; Sat 11:00 AM – 10:00 PM; Sun 11:00 AM – 9:00 PM
Address: 2889 Mission St.
Tacorea means Mexican plus Korean. Not sure if the kimchi burrito is for everyone, but they’re doing something right here because the line is out the door. There’s not much seating; it’s a good place to grab a quick bite before seeing a show near Union Square.
Hours of operation: Mon–Sat 11:30 AM – 3:00 PM & 6:00 PM – 9:00 PM
Address: 809 Bush St.
The Little Chihuahua
This is Noe Valley location of TLC (see review in Alamo Square/NoPa).
Hours of operation: Mon–Fri 11:00 AM – 10:00 PM; Sat–Sun 10:00 AM – 10:00 PM
Address: 4123 24th St.
North Beach/Jackson Square
With options like lobster served with tortillas for two, this is not your cheap-date Mexican. But it doesn’t have to break the bank either: Don Pistos does have tasty tacos and other entrées priced in the teens. If you pass on the date altogether in favor of an outing with some friends, you can order margaritas by the pitcher.
Hours of operation: Mon–Fri 5:30 PM – 11:00 PM; Sat 11:00 AM – 11:00 PM; Sun 10:00 Am – 10:00 PM
Address: 510 Union St.
This is the North Beach branch of Tacolicious (see review in Marina District).
Hours of operation: Sun–Wed 11:30 AM – 10:00 PM; Thurs–Sat 11:30 AM – 11:00 PM
Address: 1548 Stockton St.
This stretch of Fillmore Street is full of pricey boutiques but Tacobar is cheap and good, which is why there’s always a line out the door. You can jazz up your Tacobar taco with melted cheese, guac, and crema. Besides your tacos and burritos, there are some nice extras like the seasonal corn soup with zingy Mexico flavors.
Hours of operation: Sun–Thurs 11:00 AM – 9:00 PM; Fri–Sat 11:00 AM – 10:00 PM
Address: 2401 California St.
Papito looks like your average taco joint, but there’s more here than meets the eye. The classic taco options are made with organic ingredients from local farms and ranches, and Papito’s French chef has thrown in some creative variations — like a taco with duck confit carnitas.
Hours of operation: 11:30 AM – 10:00 PM
Address: 317 Connecticut St.
An oasis within the oasis that is the Presidio, Arguello is a fancy take on Mexican. Award-winning chef Tracy des Jardins (whose Mijita restaurant is listed here) serves up appetizers like Mexican poke and entrees like masa dumplings in a yellow mole sauce. You can reserve a table indoors, but the lovely outdoor patio is walk-ins only.
Hours of operation: Sunday brunch 11:00 AM – 4:00 PM; Tues 11:00 AM – 4:00 PM; Wed–Fri 11:00 AM – 3:00 PM, 3:00 PM – 5:00 PM (happy hour) and 5:00 PM to 9:00 PM; Sat 11:00 AM – 3:00 PM (brunch), 4:00 PM – 5:00 PM (small bites) and 5:00 PM –9:00 PM
Address: 50 Moraga St.
The first time I had a Gordo Taqueria’s burrito, I knew it was made with love. Turns out that’s their tagline: “Crafted with love.” Their secret is a very short menu of beef, carnitas (pork), chicken or veggie tacos or burritos, done very well. You can’t go wrong.
Hours of operation: 10:00 AM – 10:00 PM
Address: 2252 Clement at 24th Ave., 5450 Geary at 19th Ave., 1239 9th Ave.
Nick’s Crispy Tacos
Sharing space with a bar called Rouge, Nick's Crispy Tacos is packed every night. Order the tacos Nick’s way (one deep fried and one soft shell on each, plus guac and jack) and seat yourself in a red vinyl booth. On Taco Tuesday, you can get 2 tacos for $7 ($8.25 for them Nick’s way). That doesn’t include fish tacos. It’s a deal, but it’s also extra crowded.
Hours of operation: Mon & Wed 11:30 AM – 10:00 PM; Tues & Thurs 11:30 AM – 10:30 PM; Fri 11:30 AM – 11:00 PM; Sat–Sun 10:30 AM – 10:00 PM
Address: 1500 Broadway
This is the SoMa location of StreetTaco (see review in Haight Ashbury).
Hours of operation: 11:00 AM – 10:00 PM
Address: 83 9th
This is the Sunset location for Gordo’s (see review in The Richmond).
Hours of operation: 10:00 AM – 10:00 PM
Address: 1239 9th Ave.
El Burrito Express!
This hole in the wall makes a dang good burrito. With special like “El Macho,” with double the tortillas and meat, how can you go wrong? Regulars say the wet burrito is the way to go. If you swing by Burrito Express after a morning surf session at Ocean Beach, you could go for the breakfast burrito.
Hours of operation: Mon–Sat 10:00 AM – 9:00 PM
Address: 601 Taraval St.
For a drink and snack after the theater, Matador whips up tequila cocktails and less potent libations like the green michelada, made with Tecate, tomatillo, and cucumber. The “tacos de Matador” come with beef brisket and mango salsa and the pozole stew is meat-heavy. A plus: churros for dessert.
Hours of operation: Mon 11:30 AM – 10:00 PM; Tues–Thurs 11:30 AM – 11:00 PM; Fri 11:00 AM – 12:00 AM; Sat 12:00 PM – 12:00 AM; Sun 12:00 PM – 10:00 PM
Address: 679 Sutter St.