I don't know if I would call it the best place, but we like to go to Arlequin before the opera. It's quite casual, not expensive, and the food is delicious and ranges from light to not too heavy. (I don't like to eat a big, heavy dinner before the opera.) There is also a beautiful garden patio in the back heated with overhead heaters if it's cold. A very nice place to dine.
Arlequin Cafe & Food To Go
384 Hayes St, San Francisco, CA 94102
Wonderful place to eat before the opera and about 6 blocks away--but there is usually parking nearby and it all downhill back to the car. Excellent French food, nice atmosphere, not too noisy or crowded. Lovely setting, very European. On Franklin at Page.
1596 Market St, San Francisco, CA 94102
Offering you the "best place" without any idea of your preferences or price range is a little difficult.
The previous suggestions are all good places. If you want excellent fish - Hayes Street Grille; an luxurious experience - Jardiniere; more casual atmosphere, lighter dinner & a fab dessert - Citizen Cake; warm, cozy place with french-ish - Absinthe.
I really like Vicolo on Ivy at Franklin. Its a very casual, inexpensive place to get some of the best pizza in town. I love their cornmeal crust. Clearly not in the same league at Jardiniere, but its not over-crowded and they are good at what they do.
Also, I like the mediterranean-ish food at Paul K at Gough & Oak and have found their staff to be friendly and welcoming.
In the vicinity are Absinthe (Hayes and Gough?) and Citizen Cake (Grove and Gough?). I suppose it depends on what youw want to eat and how early you're willing to arrive. Jardiniere is usually open after the opera as is Absinthe. I believe Citizen Cake closes at 10 pm which wouldn't make it a good after opera spot.