Peter Sagan delivered a hard-fought victory for Bora-Hansgrohe on Stage 10 of the Giro d'Italia as Egan Bernal retained the pink jersey in Foligno. After Sagan's team-mates rode hard on the front for much of the 139km stage from L’Aquila to Foligno, the three-time former world champion held off UAE Team Emirates rider Fernando Gaviria and Davide Cimolai, of Israel Start-Up Nation, to claim his second career Giro stage win. Egan Bernal had one second shaved off his overall lead, with Remco Evenepoel now 14 seconds behind the Ineos Grenadiers rider. UAE Team Emirates' Davide Formolo remains in 10th place, just over one minute behind the Colombian leader. It was the 18th stage win for Sagan at Grand Tours – 12 at the Tour de France, four at the Spanish Vuelta and two at the Giro. The Slovakian moved past Merlier to top the points classification following the withdrawal on Saturday of Caleb Ewan. "I have to say thanks to all my teammates," Sagan said, with riders set for a well-earned rest on Tuesday. "They did an impressive job, it was full gas for the last time climbs and we dropped some sprinters. It was not enough to drop everyone, but in the end I won and I'm very happy so thanks to all my team-mates. "When Caleb Ewan won the second stage, I was very good. It was an uphill and I had very good legs. I started from a little back and I had good speed, but I was closed on the barriers and luckily, I didn't crash. "I'm very happy to win a stage like this. It was a great effort from all the team. Day by day – we still have halfway to go and I will try my best [for the points jersey]."