I just got back from 2 weeks in Lima, Peru and had some really fabulous meals.
My best recommendation is to go to La Mar, at La Mar 770 in Miraflores. This restaurant is owned by the same acclaimed chef that owns Astrid y Gaston. I went for lunch twice, not sure if it is open for dinner. At prime lunch hours (like 1:30), you will have to wait quite a bit. However, they were handing out some free appetizers to the crowd the last time I was there, which was a nice touch. It is also possible to eat at the bar, which includes a sushi bar, along with a bar creating some interesting pisco based cocktails. The seafood here, especially the scallops, is all top notch. I particulary enjoyed the arroz criolla, with shrimp and scallops. There also is a dish of ravioli with shrimp and scallops that is out of this world. As far as cocktails, they make a special pisco sour here that includes pisco which has been macerated with cocoa leaves.
I also really liked a Spanish restaurant named Laene, at Av. 2 de Mayo 220, also in Miraflores. They have a great bar, with an extensive tapas menu, along with a full menu that includes a number of types of paellas. I stuck with the tapas, which were all very good and fairly priced. They also have a great selection of piscos and a decent wine selection.
The third restaurant I would highly recommend is called Punto Azul, on Alcanfores (perhaps at cuadra 6), at the corner of San Martin, in Miraflores. Only open for lunch and closed on Mondays. They have real good ceviches, but for me the stand outs are their conchas a la parmesana (baked scallops in the shell, with parmesan cheese) and also the pescado seco (fish in a green cilantro based sauce).