Hamilton, who said he was hopeful of a more competitive weekend from Mercedes, was 0.029 seconds quicker than Piastri.
The second Mercedes of George Russell was third, from McLaren’s Lando Norris and Ferrari’s Charles Leclerc.
Aston Martin’s Fernando Alonso was sixth fastest, while Red Bull’s Max Verstappen appeared to be struggling in 11th place and 0.815secs off the pace.
Verstappen was complaining about his car being “so loose over the bumps”, after warning on Thursday that he expected Monaco would be “one of the more difficult races”.
However, he did not do a run on the soft tyres which most of those in front of him did.
The top five drivers were closely matched – Russell was just 0.126secs off the pace, while Leclerc in fifth was 0.228secs behind Hamilton, despite setting his fastest time on the medium tyres.
But there was a 0.606secs margin to Alonso, as drivers concentrated on refamiliarising themselves with the tight Monaco street circuit and building confidence in their cars.
Leclerc’s pace was particularly promising for Ferrari – given the tyre offset between the medium and soft, he looked the quickest driver in the field.
He was also fastest on the hard tyre earlier in the session.
The session was briefly red-flagged with about 15 minutes to go to clear up some carbon-fibre debris left by Zhou Guanyu’s Sauber hitting the wall at Sainte Devote.
The Chinese was able to continue back to the pits having apparently escaped with just a damaged front wing.
Williams’ Logan Sergeant also came close to a crash, hitting the inside wall at the fast Massenet left-hander approaching Casino Square.
But he, too, got away with it, somehow avoiding being catapulted into the barriers on the outside.
Aston Martin’s Lance Stroll, the RBs of Yuki Tsunoda and Ferrari’s Carlos Sainz completed the top 10, before the second practice session at 16:00 UK time.