L'Aquila - Pello Bilbao shook off the other survivors of a long breakaway in the final kilometre into l'Aquila to win Friday's seventh stage as Valerio Conti held on to top spot of the overall leaderboard at the Giro d'Italia.
The victory lifted the Spanish Astana rider a second ahead of race favourite Primoz Roglic just outside the top 10 of the general standings.
"It was a really important day for me to day," Bilbao said the 29-year-old.
"It's a long time to claim my first victory in a three-week race," he added.
Italian Conti of Bahrain-Merida kept the pink jersey although it was briefly threatened by Spanish veteran Jose Rojas who was part of the breakaway.
Rojas, a 33-year-old with Movistar, had finished third in the breakaway the previous day that put Conti in pink. Rojas was also part of the escape on Friday.
Even though Conti's team-mates Jan Polanc and Diego Ulissi worked hard at the front of the peloton, when the gap reached two minutes with 30 kilometres to go, Rojas was in the overall lead on the road. But the relentless pursuit trimmed the gap in the final kilometres.
Rojas moved up to second, 1min 32sec behind Conti.
"It was a hard stage, and I was very tired from yesterday," Conti said. "I said to myself, 'Come on, you're strong,' and the team helped me through."
Even though the gap shrunk, the overall leaders stayed away. Bilbao, who had been helped during the breakaway by Astana team-mate Andrey Zeits, slipped away before the end.
"The final kilometre was a long one," Bilbao said. "I didn't want to go too hard. I saw I had a five-seconds lead, which is a good lead. I saved something for the final hundred metres, and I had time to celebrate."
Bilbao completed the hilly 180km stage at an average speed of more than 45 kilometres. The hungry pursuit by the peloton meant that for all the finishers the pace was high all day, a sharp contrast to the 233km stage on Thursday when the pack took a day off.
"It was racing, racing, racing for two hours," said Victor Campenaerts, a Belgian with Lotto-Soudal, who recently set the world hour record.
"Then it was keeping the breakaway to a two-minute gap. Yesterday was really long and easy," he added.
Roglic's prospects suffered a blow when Jumbo-Visma team-mate Laurens De Plus, slated to be the Slovenian's main helper in the Alps, withdrew.
Saturday's stage from Tortoreto Lido to Pesaro along the Italian west coast is the longest in this year's race at 239km.
Results and standings after Friday's seventh stage of the Giro d'Italia, a a 185.0km ride from Vasto to L'Aquila:
1. Pello Bilbao (ESP/AST) 185.0 km in 4hr 06min 27sec, 2. Tony Gallopin (FRA/ALM) at 0, 3. Davide Formolo (ITA/BOR) 5, 4. Lucas Hamilton (AUS/MIT) 9, 5. Mattia Cattaneo (ITA/AND) 9, 6. Jose Joaquin Rojas (ESP/MOV) 30, 7. Sebastian Heano (COL/INE) 48, 8. Antonio Pedrero (ESP/MOV) 1:01, 9. Valentin Madouas (FRA/FDJ) 1:07, 10. Andrea Vendrame (ITA/AND) 1:07.
1. Valerio Conti (ITA/UAE Emirates) 29 h 29:34, 2. Jose Joaquin Rojas (ESP/MOV) at 1:32, 3. Giovanni Carboni (ITA/BAR) 1:41, 4. Nans Peters (FRA/ALM) 2:09, 5. Valentin Madouas (FRA/FDJ) 2:17, 6. Amaro Antunes (POR/CCC) 2:45, 7. Fausto Masnada (ITA/AND) 3:14, 8. Pieter Serry (BEL/DEC) 3:25, 9. Audrey Amador (CRC/MOV) 3:27, 10. Sam Oomen (NED/SUN) 4:57,11, Pello Bilbao (ESP/AST) 5:23, 12. Primoz Roglic (SLO/JUM) 5:24, 13. Davide Formolo (ITA/BOR) 5:24, 14. Tony Gallopin (FRA/ALM) 5:34, 15. Simon Yates (GBR/MIT) 5:59, 16. Vincenzo Nibali (ITA/BAH) 6:03, 17. Miguel Angel Lopez (COL/AST) 6:08, 18. Rafal Majka (POL/BOR) 6:13, 19. Mattia Cattaneo (ITA/AND) 6:16, 20. Bauke Mollema (NED/TRE) 6:19.