The Best Indian Restaurants In San Francisco

Our 11 favorite places for Indian food in the city.
The Best Indian Restaurants In San Francisco image

photo credit: Sarah Felker

Perfectly crispy dosas, sizzling platters of tandoori fish, and pani puri spiked with gin—you’ll find them all at one of the many fantastic Indian restaurants across SF. The next time you’re looking for curries, biryanis, or steaming basketfuls of naan, just use this guide. It has the 11 best options in the city, from casual counter-service places to high-end, entirely vegetarian spots. 


photo credit: Carly Hackbarth



$$$$Perfect For:Casual Weeknight DinnerSerious Take-Out OperationLunch
Earn 3x points with your sapphire card

Not many restaurants in the city specialize predominantly in the food from the western Indian state of Goa. Rarity is one reason to get to this Marina spot. The other is that their seafood dishes are worth a cross-town trip. Exhibit A is the prawn xacuti. The coconut-heavy Goan curry is complex, slightly sweet, and loaded with generous amounts of shrimp. Another must-order is the tandoori fish, which arrives sizzling and is impossibly flaky. Viva Goa is never too packed—there are lots of tables available if you're walking in—which makes this spot perfect for last-minute dinners, and ones where you won't need to shout to talk to your friends at the table. 

This Dogpatch spot pulls from the make-your-own-rules playbook by remixing western Indian food with new ingredients. Which is why you’ll find blue cheese in the fluffy parathas. Baked kheema batti are stuffed with Impossible meat and smoked paneer. And mint-infused tamarind water for the crispy pani puri contains actual gin. A meal at this small-plate dining spot is a great way to eat your way through the regions of Gujarat: a vegetarian mix of fire-roasted eggplant that taste like it was forged in the flames of Mount Doom, housemade maska paneer, and the other dishes inspired by the chef’s family.

Copra has the fanciness levels amped up to 100, but they’re also laid back enough to serve a crab curry that requires you to roll up your sleeves and crack a few claws with your bare hands. Doing so will immediately boost your mood (it’s also delicious), as will the rest of the South Indian dishes. They’re pumped up by gorgeous presentation and exciting twists—think slow-cooked octopus that cuts like butter, ultra-tender black cod, and rasam poori injected with an extra tang from passion fruit. Adding to the celebratory energy are the macrame-filled dining room, which feels like a wedding reception venue in Tulum, with floor-to-ceiling shelves stacked with ceramic pots and baskets, massive windows, and leafy vines wrapped around every possible surface. 

The arm-length dosas at this South Indian place in the Mission are works of art. They give a satisfying crunch when you tear into one, and are the perfect vehicle for the tomato-y chutneys and sambar. Showstopping dosas are part of what makes a meal here great, as are the coconutty prawn curry, biryani loaded with goat or lamb, and the spicy, deep-fried chicken 65. Bright orange walls, twinkle lights, and gold streamers make the room look like a party on New Year's Eve—it certainly makes sharing a meal with friends downright fun.

The menu at Mission Curry House is longer than Taylor Swift’s discography, so expect to find something for everyone. Feast on fragrant biryani overflowing with tender lamb or a spread of spice-packed curries, while your friend takes down the plump, chicken-stuffed Nepalese momos and a golden-brown dosa. But look to share everything, including the impressive naan filled with paneer. There is plenty to go around, and you'll never feel rushed. So we use this spot for long lunches and even spur-of-the-moment dinners with a group.

When dinner time rolls around and pulling out your own frying pan to cook (and then do the subsequent dishes) is out of the question, head to Tilak. It’s the poster child for destination-worthy Indian food in Bernal Heights—it’s also easy to walk into, actually open Mondays, and lowkey enough that you can roll up in sweats. And most importantly, they’re serving dishes we’d transfer bus lines twice to get our hands on. The menu covers everything from tomato-heavy Goan specialties to refreshing aloo tikka chaat bites to rich curries that pack enough heat to make your eyes water. Make sure to order a bread basket with two types of naan and stretchy roti for the table. 

The casual institution has been around since before Bluetooth was invented (1999)—probably because the curries, biryanis, and other Pakistani Indian dishes are consistently excellent. And also because they have a big section of vegetarian curries (get the benghan bartha). Pakwan is always packed with people passing around plates heaped with things like tikka masala, and waiting in line (order at the counter). But walk in, and you'll easily secure a table for that spontaneous Monday night dinner or catch-up with friends. And FYI, Pakwan has a location in the Tenderloin and Ingleside, plus a couple of East Bay outposts.

Udupi Palace is where you go when you want to show up in sweats, catch up with a friend for an hour, and eat some of the best dosas in the Mission. The ones at this South Indian vegetarian spot are perfectly crispy, filled with things like well-spiced potatoes, and, depending on the kind you get (like the mysore) are roughly the size and shape of a small briefcase. This small spot also does a saag paneer that’s heavier on the spinach, puffy poori, fried samosas that get a boost of flavor from an array of chutneys, and a big curry section. And if getting dressed in sweats and casually popping in for a meal is too much for you to handle, don’t stress. Udupi Palace also runs a solid takeout operation.

photo credit: Sarah Felker



Tock logo

This high-end restaurant in SoMa is reimagining traditional Indian cuisine and mixing in ingredients and cooking styles from around the world with the precision of a lauded scientist. Simply put, Rooh is exciting and inventive, especially their small plates. Rich koya and ricotta-stuffed black morel mushrooms are slathered in decadent yakhni sauce. And the avocado-filled puri puffs topped with chilled yogurt mousse crack in your mouth in a satisfying way when you bite into them. The best part is you'll eat it in the presence of a fancy ayurvedic-inspired cocktail, and in a place that's jewel-toned, swank, and filled with velvet chairs.

We beeline to Keeva Indian Kitchen whenever nose-clearing curries call to us. The bright, casual restaurant in the Inner Richmond makes chicken, lamb, goat, seafood, and vegetable curries that don’t hold back on the spice (you can also order them mild). The kashmiri chili-spiced lamb rogan josh builds satisfying heat that lingers in the mouth, and a few bites of the creamy coconut fish curry might make your eyes water. Another reason you’ll find us here is to pick up a to-go order of their tandoori chicken wings—they're gorgeously charred and nicely smoky—before dinner at home or a picnic at nearby Golden Gate Park.

Aside from typical Northern Indian staples like chicken tikka masala and saag paneer, this Haight spot offers up a ton of plant-focused dishes, with 23 vegetarian options alongside the meat-focused ones. Start with the three pakoras—mixed vegetables, eggplant, and spinach—which are always crowd-pleasers. From there, pick either the baigan bharta (eggplant roasted in a clay oven) or the paneer korma with homemade cottage cheese cooked in a creamy sauce with almonds and raisins.

Chase Sapphire Card Ad

Suggested Reading

Mission Curry House image

Mission Curry House

Mission Curry House is our go-to for excellent curries and other Indian dishes.

Besharam image

Besharam is a vegetarian Gujarati restaurant in the Dogpatch where originality shines. Think blue cheese parathas, Impossible kebabs covered in garlicky pea shoots, and pani puri with actual gin in the tamarind-mint water.

Rooh image

Rooh is a high-end SoMa restaurant that reimagines traditional Indian cuisine by mixing in ingredients and cooking styles from around the world.

Infatuation Logo


2024 © The Infatuation Inc. All Rights Reserved.
The views and opinions expressed on The Infatuation’s site and other platforms are those of the authors and do not reflect the official policy or position of (or endorsement by) JPMorgan Chase. The Infatuation and its affiliates assume no responsibility or liability for the content of this site, or any errors or omissions. The Information contained in this site is provided on an "as is" basis with no guarantees of completeness, accuracy, usefulness or timeliness.


Get it on Google PlayDownload on the App Store