San Antonio has a good traditional Peruvian buffet.
Rustica in the beach of Barranco, although the last time we went it was a bit of a bummer, they seem to have had some problems with Sunat, and you could tell the difference in quality with earlier visits.
Señorio de Sulco in the end of Pardo on the Malecon is very good
And Mangos in Larcomar has a very nice presentation of the food, and lots of nice postres. The views over the Pacific are astonishing specially for a first time visitor.