Peter Sagan moved into the overall lead of the Tour of Oman after claiming his first win of the season on stage four as Chris Froome lost time to his rivals for overall victory.
Sagan (Cannondale) formed part of a late breakaway alongside Rigoberto Uran (Omega Pharma - Quick-Step) and Vincenzo Nibali (Astana) around 7km from home and then comfortably beat the duo to the finish at the Ministry of Housing in Muscat. Uran held off Nibali for second.
Froome (Team Sky) was unable to follow the move, which took place after the descent from the final climb of the day, but crossed the line in 11th as part of a chase group two seconds behind the winner.
The result sees Sagan leap from fourth in the general classification to first, 10 seconds ahead of second-placed Uran and 14 seconds ahead of Nibali in third.
'All to play for'
Froome rises from 20th overall to eighth, but is now eight and four seconds behind key rivals Uran and Nibali respectively ahead of Saturday's potentially decisive summit finish on the Green Mountain.
Froome said afterwards: "Sagan, Nibali and Uran went again when the road flattened out, but those us left in the peloton worked well together and they were only a few seconds ahead at the end.
"Tomorrow's stage should suit us well. With the GC being as tight as it is, it is all still to play for, definitely. I still want to try and defend my title."
The stage, which was the first of two mountainous days that will decide the overall outcome of the race, took the peloton up the climb of Bousher Alamrat a punishing four times and riders were already being dropped as early as the first ascent.
Race leader Andre Greipel (Lotto Belisol) was distanced on the second, while Tom Boonen (Omega Pharma - Quick-Step) and Andy Schleck (Trek Factory Racing) fell away on the third as the peloton was whittled down to little more than 40 riders heading on to the final ascent.
For the second day in succession, Froome darted of the front of the bunch alongside Uran just before the summit, but the pair were unable to open out a significant advantage and were soon swallowed back up.
Uran tried again with Sagan and Nibali on the flat run to the finish line, and this time the trio were able to swiftly gain a 15-second advantage, which they later stretched to 19 seconds heading into the final 3km.
The chasing group containing Froome struggled in a headwind and although they made inroads into the deficit, the front trio could not be caught and the outcome of the sprint was a foregone conclusion.
Stage four result
1 Peter Sagan (Svk) Cannondale, 4:02:20
2 Rigoberto Uran (Col) Omega Pharma - Quick-Step, same time
3 Vincenzo Nibali (Ita) Astana, +2secs
4 Daryl Impey (RSA) Orica-GreenEdge, st
5 Tony Gallopin (Fra) Lotto Belisol, st
6 Daniel Moreno (Spa) Katusha, st
7 Francesco Gavazzi (Ita) Astana, st
8 Zdenek Stybar (Cze) Omega Pharma - Quick-Step, st
9 Thomas Lofkvist (Swe) IAM Cycling, st
10 Moreno Moser (Ita) Cannondale, st
11 Chris Froome (GB) Team Sky, st
1 Peter Sagan (Svk) Cannondale, 14:46:44
2 Rigoberto Uran (Col) Omega Pharma - Quick-Step, +10secs
3 Vincenzo Nibali (Ita) Astana, +14
4 Tony Gallopin (Fra) Lotto Belisol, +17
5 Daryl Impey (RSA) Orica-GreenEdge, +18
6 Francesco Gavazzi (Ita) Astana, st
7 Roman Kreuziger (Cze) Tinkoff-Saxo, st
8 Chris Froome (GB) Team Sky, st
9 Tejay van Garderen (USA) BMC, st
10 Robert Gesink (Ned) Belkin, st