You didn't give a price range, but here are some of our favorites:
Italian - La Viola, 16th St. just north of Spruce, cash only, BYOB, very good food, reasonable.
Branzino, 17th St. just north of Spruce, BYOB,
very attractive, very good food
Japanese - Shiroi Hana, 15th St. between Walnut and Locust
Mediterranean/Continental - Valanni, tapas and small plates plus regular, interesting menu
For more money:
Estia - fish/seafood, beautiful place, pricey but they have a $30 pre-theater, Locust across from Academy of Music
Capital Grille - always good, on Broad St., pricey
Also ran: Sansom St. Oyster House, Sansom St. between 15th and 16th, informal, not inexpensive any more
Ernesto's, at 1521 Spruce, pleasant service, decent, some people love it, and they are used to getting you out on time
For a very decent hamburger, the grill (forget the name) right across the street - NW corner of Broad and Spruce
Italian Bistro, a chain, inexpensive, show them your ticket for a discount, not bad
Haven't been to Primadonna this year - can sometimes get slow near theater time.
There are many others, but these are the ones we keep returning to. All are within a few blocks.