Belgian rider Jan Bakelants pulled away close to the finish line to win Sunday's second stage of the Tour de France and take the race leader's yellow jersey for the first time in his career.
Bakelants made his move with a few hundred meters remaining and the RadioShack rider did enough to withstand a late charge from Slovak sprinter Peter Sagan.
Canada's Ryder Hesjedal finished in the peleton and is one second back of the leader overall. David Veilleux, down 9:06, and Svein Tuft, down 17:35 were held up by crashes.
"It's difficult to believe what happened today, it's fantastic," said Bakelants, who had a knee operation earlier this year. "Today it may be the first and last time I ever wear the yellow jersey."
German sprinter Marcel Kittel started the day in the lead after winning Saturday's crash-marred first stage, but the rolling hills took their toll and he finished nearly 18 minutes behind in 169th spot.
"It's a difficult stage and I'm a sprinter, that's why I suffer," said Kettel, who retained the sprinter's green jersey. "I had goose bumps when I went up the hill. So many people were screaming my name. But we were expecting to lose it [the yellow jersey]."
The 156-kilometre (97-mile) trek started from Bastia and after four moderate climbs finished in Ajaccio, where French emperor and military mastermind Napoleon Bonaparte was born in 1769.
The day's last climb up Cote du Salario was much shorter than the other ones but far steeper.
By the time the pack reached the foot of it, Kittel and British sprinter Cavendish were among a small band of strugglers drifting further and further away.
Spaniard Juan Antonio Flecha and Cyrille Gautier attacked up the final ascent, and Tour favourite Chris Froome then launched a surprise attack to go after Gautier when the Frenchman pulled away. But Froome's attack fizzled out and the main pack swallowed him up.
The day after more than a dozen riders crashed, a small white dog ran out into the road some 4 kilometres (2.5 miles from the line) and a potentially dangerous situation was narrowly avoided by a matter of seconds.
A bystander started to run after the dog and then changed his mind, and the dog just managed to reach the other side of the road before the marauding pack passed through.
Monday's third stage is the last of the Corsican trio, and is again hilly, with four moderate climbs dotted along the 145.5-kilometre (90-mile) route from Ajaccio to Calvi.