Geraint Thomas battled to fourth on a steep uphill finish as Team Sky went on the attack on stage five at Tirreno-Adriatico.
Racing with a relentless spirit the team threw caution to the wind on a savage 210-kilometre parcours full of saw-tooth climbs.
Firing rider after rider up the road, Gianni Moscon, Mikel Landa, Michal Kwiatkowski, Diego Rosa and Vasil Kiryienka all enjoyed digs off the front before the stage came down to a select group finish in Fermo.
Thomas moved to the fore on the steep and narrow roads, positioning himself first through the penultimate corner. On the wall-like finish straight it was Peter Sagan (Bora-Hansgrohe) who prevailed, taking his second stage win of the event. Thomas held on for fourth, finishing in the same group as race leader Nairo Quintana (Movistar).
Despite the worst-possible start to the race in the opening team time trial, Thomas now sits sixth overall, 1:23 back on the blue jersey after another superb performance.
After the finish Thomas explained: "I felt pretty good. The team were good today. Just in the final I didn't quite expect the finish to be like that. I knew it was two corners and I wanted to lead into the penultimate one. But the road just went up, so I was caught out of position a bit. The legs are good, it's just a real shame about the TTT but there we go.
"I'm just racing for the stage win. The team were super strong today and we had a lot of guys there attacking and riding aggressively."
Stage five results:
1. Peter Sagan (Bora-Hansgrohe) 5:00:05
2. Thibaut Pinot (FDJ) s.t.
3. Primoz Roglic (LottoNL-Jumbo)
4. Geraint Thomas (Team Sky)
5. Bauke Mollema (Trek-Segafredo)
1. Nairo Quintana (Movistar) 21:34:51
2. Thibaut Pinot (FDJ) +50"
3. Rohan Dennis (BMC Racing) +1:06"
4. Primoz Roglic (LottoNL-Jumbo) +1:15"
5. Tom Dumoulin (Team Sunweb) +1:19"
6. Geraint Thomas (Team Sky ) +1:23"