Chris Froome moved into the overall lead of Tirreno-Adriatico as Joaquim Rodriguez claimed victory on stage five with a piercing lone attack on the day's final climb in Chieti.
The Spaniard pulled clear of his rivals at the bottom of the brutally steep Via Salomone and crossed the line eight seconds ahead of Bauke Mollema in second and Alberto Contador in third.
Froome followed a handful of metres behind in sixth on the same time, but previous race leader Michal Kwiatkowski was dropped on the ascent and consequently relinquishes the blue jersey to the Briton.
The result puts Froome in pole position to claim his second stage-race win of the season, with only Monday's rolling stage and Tuesday's time trial remaining.
Contador, meanwhile, moves up to second in the general classification, 20 seconds behind and on the same time as defending champion Vincenzo Nibali in third.
Pressure paid off
Froome told teamsky.com: "The team took it up with about 45-50km to go on the last couple of climbs and really ripped it apart.
"We put a lot of pressure on the leader's jersey and I think it paid off at the end of the stage as he eventually cracked on that final climb and I was able to get a gap over him. I had heard he was slipping back which did motivate me a little bit more, but to be honest I was already going full gas."
The day started with an eight-man group including Juan Antonio Flecha (Vacansoleil-DCM), Damiano Cunego (Lampre-Merida), Valerio Agnoli (Astana) and Stijn Devolder (RadioShack-Leopard) breaking clear of the peloton and building up an eight-minute advantage.
However, Team Sky began to set a fierce pace on the front of the main bunch and the gap consequently plummeted to around three minutes as the race entered its final 50km.
That prompted Cunego to attack his fellow escapees the climb of Passo Lanciano and although he still had a healthy advantage going over the summit, the Italian lost ground on the descent as Sky continued press and was eventually caught 6.8km from the line.
Rodriguez to the fore
A flurry of attacks on the ascent and descent of the day's penultimate climb, the Pietragrossa, broke an already reduced peloton into pieces and there were only six riders left at the front of the field by the time of the concluding climb up Via Salomone.
Rodriguez (Katusha) mounted a stinging attack as the road ramped up to 19 per cent and never looked like losing the stage after opening up a gap on his rivals.
That left the other five men at the front to sprint to the line for the remaining bonus seconds, and although Froome couldn't keep pace with Contador (Saxo-Tinkoff), he did enough to move into the race lead.
Froome added: "It is a great position to be in - defending. I would rather be doing that then trying to gain time over some one.
"But tomorrow I'm expecting them to throw everything at us. I think the weather is going to take a turn for the worse, too. The course is up and down all day so it is not going to be easy for us.
"Then the final day there is a 9.2km time trial to cap things off, so there is going to be fighting all the way to the line."
Stage five result
1 Joaquim Rodriguez (Spa) Katusha, 6:06.43
2 Bauke Mollema (Ned) Blanco, +8secs
3 Alberto Contador (Spa) Saxo-Tinkoff, same time
4 Mauro Santambrogio (Ita) Vini-Fantini, st
5 Chris Horner (USA) RadioShack-Leopard, st
6 Chris Froome (GB) Team Sky, st
7 Vincenzo Nibali (Ita) Astana, +17
Przemyslaw Niemiec (Pol) Lampre-Merida, +22
9 Roman Kreuziger (Cze) Saxo-Tinkoff, st
10 Dan Martin (Ire) Garmin-Sharp, +28
1 Chris Froome (GB) Team Sky, 22:11.53
2 Alberto Contador (Spa) Saxo-Tinkoff, +20secs
3 Vincenzo Nibali (Ita) Astana, same time
4 Michal Kwiatkowski (Pol) Omega Pharma - Quick-Step, +24
5 Chris Horner (USA) RadioShack-Leopard, +37
6 Mauro Santambrogio (Ita) Vini-Fantini, +52
7 Joaquim Rodriguez (Spa) Katusha, +55
8 Rigoberto Uran (Col) Team Sky, +57
9 Roman Kreuziger (Cze) Saxo-Tinkoff, +1.27
10 Sergio Henao (Col) Team Sky, +1.51