There should be a number of old threads on this, so you may want to do a search.
One recommendation is El Cardenal, which has two locations downtown, one on Calle Palma, about a block from the Zocalo, and the other in the downtown Sheraton across from Bellas Artes (this one is slightly better). Excellent Mexican food, and usually packed with locals. They do not open for dinner on some weeknights though, and I don't think they take reservations either. But it's definitely worth the potential wait.