Been to Mexico City 15 times so know my way around.
A day in the centre for the Centro Historico, Bellas Artes, Anthropology Museum etc. Chapultepec castle and grounds is nice to have a stroll around if you have time.
Go to San Angel and Coyoacan areas (Saturday best for the markets). Have breakfast at El Cardenal in San Angel (it's an institution), visit the Diego Rivera museum before Frida Kahlo's house in Coyoacan. Coyoacan is pleasant enough to spend much of the day wandering about eating Street food or people watching.
Lucha Libre on Friday is fun, but get taxis as it's in a slightly dodgy area.
An hour outside the city you have Teotihuacan, one of the most important archaeological sites in the country, and absolutely worth a visit.
Xochimilco for the boats also tends to be on most people's itinerary.
As for food, you can't go wrong anywhere really. Contramar is very good for seafood, Agua y Sal is also highly rated. Happy to give more specifics if need be.