World champion Philippe Gilbert ended his long wait for a first win in the rainbow jersey by sprinting to victory on stage 12 of the Vuelta a Espana in Tarragona.
The 31-year-old BMC rider chased down a powerful late bid for the line from Team Sky's Edvald Boasson Hagen and went on to beat the Norwegian by a bike's length, with Maximiliano Richeze (Lampre-Merida) following in third.
The result ends a winless run for Gilbert that stretches back to his world title triumph on September 23 last year - when he also beat Boasson Hagen into second - and makes amends for an agonising narrow defeat on stage seven of the Vuelta six days ago.
The performance also hinted that the one-day specialist is returning to peak form just in time for his defence of the rainbow jersey in Florence on September 29.
Roche takes time
All of the contenders for overall victory crossed the line in the peloton, but Astana rider Vincenzo Nibali's lead in the general classification was eroded to 31 seconds after second-placed Nicolas Roche (Saxo-Tinkoff) picked up two bonus seconds at the day's second intermediate sprint.
The day's compelling finale came after a 164.2km stage which started in Maella and ended on the Mediterranean coast, just south of Barcelona.
Romain Zingle (Cofidis), Fabricio Ferrari (Caja Rural) and Cedric Pineau (FDJ) mounted a three-man breakaway and built up a maximum lead of over six and a half minutes, but as the road turned towards the sea, a headwind slowed their progress and they were caught just under 19km from home.
Tony Martin (Omega Pharma - Quick-Step) then threatened to repeat his heroics from stage six by darting off the front of the peloton and opening up an 11-second gap, but with Gilbert eyeing victory, he ordered his BMC team-mates to chase and they quickly snuffed out the German's hopes.
Boasson Hagen falls short
Orica-GreenEDGE swiftly moved forward to lead the peloton into a technical final 2km that rose gently to the finish line, while other trains also navigated their way into position.
Boasson Hagen, who was led out by team-mate Rigoberto Uran, stunned his sprint rivals by launching an early bid for glory and, with 100m to go, it looked like he would hang on for victory.
However, Gilbert countered ferociously and sped past the 26-year-old at the death to snatch the win and banish talk of the curse of the rainbow jersey.
Stage 12 result
1 Philippe Gilbert (Bel) BMC, 4:03:44
2 Edvald Boasson Hagen (Nor) Team Sky, same time
3 Maximilliano Richeze (Arg) Lampre-Merida, st
4 Luca Paolini (Ita) Katusha, st
5 Gianni Meersman (Bel) Omega Pharma - Quick-Step, st
6 Franceso Lasca (Ita) Caja Rural, st
7 Steve Chainel (Fra) Ag2r-La Mondiale, st
8 Reinardt Janse Van Rensburg (RSA) Argos-Shimano, st
9 Anthony Roux (Fra) FDJ, st
10 Zakkari Dempster (Aus) NetApp-Endura, st
1 Vincenzo Nibali (Ita) Astana, 45:26:06
2 Nicolas Roche (Irl) Saxo-Tinkoff, +31secs
3 Alejandro Valverde (Spa) Movistar, +46
4 Chris Horner (USA) RadioShack-Leopard, same time
5 Joaquim Rodriguez (Spa) Katusha, +2:33
6 Domenico Pozzovivo (Ita) Ag2r-La Mondiale, +2:44
7 Ivan Basso (Ita) Cannondale, +2:55
8 Thibaut Pinot (Fra) FDJ, +3:35
9 Rafal Majka (Pol) Saxo-Tinkoff, +3:46
10 Daniel Moreno (Spa) Katusha, +3:56
- Green (points classification): Daniel Moreno (Katusha)
- Blue polka dot (mountains classification): Chris Horner (USA) RadioShack-Leopard