Spaniard Pello Bilbao claimed a first Grand Tour stage victory as Valerio Conti retained the leader's pink jersey on stage seven of the Giro d'Italia.
Astana rider Bilbao moved clear from what had been a 12-strong breakaway group in the closing stages of the 185-kilometre stage from Vasto to L'Aquila, which included two classified climbs.
Bilbao finished five seconds ahead of Tony Gallopin, the AG2R La Mondiale racer edging out Davide Formolo (Bora-Hansgrohe) to take second place.
Conti and the peloton eventually finished more than a minute behind, but it was still enough for the Italian to hold on to the Maglia Rosa at the head of the general classification standings.
Earlier, it had looked like Movistar rider Jose Joaquin Rojas was making a claim for the outright lead.
The 33-year-old eventually had to settle for sixth place, although that saw him climb to second place in the overall standings, one minute and 32 seconds behind UAE Team Emirates rider Conti.
Giovanni Carboni (Bardiani) drops to third, with a gap of 1min 41secs to the leader.
Bilbao said following his victory: "It's a really important day for me. It took me a long time to get my first stage win in a Grand Tour.
"It was a very big advantage to have two riders in the breakaway, Andrey (Zeits) pulled a lot. Dario (Cataldo) was our designated rider, but it was such a hard and complicated stage that eventually who made the breakaway was improvised."
Race leader Conti was glad to have seen limited damage done to his advantage in the GC standings.
"It's been very difficult to retain the Maglia Rosa because it looked like the whole peloton wanted to break away today," Conti said, quoted on the Giro d'Italia website.
"There were strong GC riders like Rojas and Bilbao at the front. Luckily UAE Team Emirates is very strong and dedicated too. I'm very happy to keep the lead."
Mitchelton-Scott's Simon Yates is now 15th in the GC standings, the British rider almost six minutes off the pace.
Meanwhile, both Colombian sprinter Fernando Gaviria (UAE Team Emirates) and Laurens De Plus (Jumbo-Visma) were forced to abandon the Giro because of injuries, joining Dutchman Tom Dumoulin in pulling out of the race.
Stage eight will run over 235km from Tortoreto Lido to Pesaro.