Belgium's Yves Lampaert caught out the sprinters with a late attack to win stage two and take the leader's red jersey at the Vuelta a Espana.
Team Sky's Chris Froome fell behind a split in the peloton but moved up to ninth overall, 21 seconds off Lampaert.
Quick-Step's Lampaert broke away in the crosswinds in the final 2km and held on to win his first Grand Tour stage in Gruissan, France.
Team-mate Matteo Trentin came second, with Britain's Adam Blythe third.
Tour de France champion Froome, 32, finished 16th on the stage - eight seconds down on Lampaert and overall rival Vincenzo Nibali - in a group also including compatriot Adam Yates and Fabio Aru.
Other favourites Romain Bardet and Alberto Contador finished as part of a large group five seconds behind Froome, who is aiming to become just the third man to complete the Tour-Vuelta double in the same year.
"We were probably a little bit short coming into the final few kilometres, but I'm still happy with that result as I think we did a great ride," said Froome.
"There were a few seconds lost to Nibali and Esteban Chaves, but some gained on Contador and some of the other general classification guys so we can be happy with that with the mountains [on Monday]."
The 203.4km flat stage was expected to end in a bunch sprint but Quick-Step expertly tore the race apart in high winds to release Lampaert solo into the final kilometre.
"During the race we planned that if we could make an echelon, we would try in the last 10km," said Lampaert.
"We went full for the last three kilometres and they shouted at me to go - I knew I could ride one kilometre very fast and it worked out.
"I don't know what's happening - it's really crazy for me [to be leading the race]."
Overnight leader Rohan Dennis missed the break and finished 13 seconds down but BMC team-mate Daniel Oss moved up to third overall, behind Lampaert and Trentin.
Monday's mountainous third stage starts in France and takes the race into Spain for the first time before finishing in Andorra.
Stage two result
1. Yves Lampaert (Bel/Quick-Step Floors) 4hrs 36mins 13secs
2. Matteo Trentin (Ita/Quick-Step Floors) Same time
3. Adam Blythe (GB/Aqua Blue Sport)
4. Edward Theuns (Bel/Trek-Segafredo)
5. Sacha Modolo (Ita/Team UAE Emirates)
6. Michael Schwarzmann (Ger/BORA-hansgrohe)
7. Tom van Asbroeck (Bel/Cannondale-Drapac)
8. Daniel Oss (Ita/BMC Racing Team)
9. Patrick Konrad (Lat/BORA-hansgrohe)
10. Vincenzo Nibali (Ita/Bahrain-Merida)
1. Yves Lampaert (Bel/Quick-Step Floors) 4hrs 52mins 07secs
2. Matteo Trentin (Ita/Quick-Step Floors) +1sec
3. Daniel Oss (Ita/BMC Racing Team) +3secs
4. Tejay van Garderen (US/BMC Racing Team) +17secs
5. Nicolas Roche (Ire/BMC Racing Team) Same time
6. Rohan Dennis (Aus/BMC Racing Team)
7. Julian Alaphilippe (Fra/Quick-Step Floors) +18secs
8. Wilco Kelderman (Ned/Team Sunweb) Same time
9. Chris Froome (GB/Team Sky) +21secs
10. Wout Poels (Ned/Team Sky) Same time
19. Adam Yates (GB/Orica-Scott) +29secs
22. Simon Yates (GB/Orica-Scott) +34secs
24. Vincenzo Nibali (Ita/Bahrain-Merida) +35secs
47. Alberto Contador (Spa/Trek-Segafredo) +52secs
50. Fabio Aru (Ita/Astana) +53secs
65. Romain Bardet (Fra/AG2R La Mondiale) +1min 03secs