Chris Froome gained significant time on his Tour de France rivals as Mark Cavendish finished fourth behind stage winner Andre Greipel in Zeeland.
Manxman Cavendish was pipped by German Greipel, Peter Sagan and Swiss Fabian Cancellara, who took the yellow jersey.
Froome placed seventh on stage two, four seconds ahead of Alberto Contador in 13th and one minute 28 seconds ahead of Vincenzo Nibali and Nairo Quintana.
Team Sky's Froome, champion in 2013, is up to 10th in the overall standings.
Spanish two-time winner Contador, Italy's defending champion Nibali and Colombian Quintana have been billed as Froome's main rivals for overall victory at this year's race.
|Leading contenders (time behind race leader)|
|10th Chris Froome (Sky) +48secs|
|14th Alberto Contador (Tinkoff-Saxo) +1min|
|33rd Vincenzo Nibali (Astana) +2mins 9secs|
|44th Nairo Quintana (Movistar) +2mins 27secs|
But over an unpredictable 166km along the Dutch coast, the 30-year-old was able to stake an early claim on the yellow jersey as high winds split the peloton.
"I'm really thankful to my team-mates for keeping me in front, especially when that split happened," Froome said.
"It was chaos out there for a few minutes, with the storm, with the winds. One second Nibali was next to me so I couldn't believe it when he was distanced."
Czech time trial champion Jan Barta was the first of four breakaway riders past the day's intermediate checkpoint, where John Degenkolb got out of his saddle to take fifth and three more points than Cavendish, who rolled over in eighth.
By the time the peloton reached within 60km of the stage finish, where high winds had been blowing all afternoon, the breakaway was caught and teams organised themselves in protection of their key riders as conditions worsened.
|BBC Sport's Matt Slater at the Tour de France|
|"For a team that is meant to lack experience and the ability to think for themselves, Team Sky put on a Dutch masterclass on how to ride in a crosswind. Two years ago, this was a weakness, and Froome lost time to Contador on the road to Saint-Armand-Montrond; today they teamed up to put the hurt on Nibali, Thibaut Pinot and Quintana.|
|"It was a great team ride, with Richie Porte providing the impetus, Ian Standard and Geraint Thomas the muscle, and Froome chipping in late on to even grab a few seconds from Contador. Team Sky answered a lot of questions today."|
Quintana and Nibali were just two of dozens of riders distanced by crosswinds, while Froome's team-mate Geraint Thomas was involved in a minor crash.
The Welshman recovered to finish 12th and move up to fifth overall ahead of Monday's third stage from Antwerp to Huy, where he will have an outside chance of victory himself.
"During the storm it was hard enough to see where you were going," Thomas told ITV. "I didn't realise the gap was as big as a minute and a half. It's perfect, I wouldn't turn that down."
|Geraint Thomas's stage-by-stage guide|
|Stage three: Antwerp - Huy, 159.5km (99.1 miles)|
|"My job will be all about getting Chris Froome into a good position at the last climb, the Mur de Huy, which you may know from the Spring Classic La Fleche Wallonne race. But after then you never know. The final stretch has gradients of 19% but at just 1km long there's not much to it, it's just about getting to the top fastest."|
|Team Sky's Geraint Thomas's analysis of all 21 stages of this year's Tour de France.|
For Lotto-Soudal's Greipel, it was an eighth Tour de France stage victory, while Cavendish of Etixx-Quick Step is still searching for his 26th.
Had Cavendish held on for third place his team-mate Tony Martin would have taken the yellow jersey, but the 30-year-old appeared to run out of energy just before the line.
"The day Cancellara beats me in a sprint I've gone too long. I've gassed it," Cavendish said.
"I think Mark [Renshaw] went too early and kind of left me hanging. We died. It's disappointing, Tony's disappointed."
|Rob Hayles - BBC Radio 5 live commentator|
|"It was such a close sprint finish. This is not the sort of added pressure Cavendish needs. He already had enough pressure on him to take this stage. He has another four or five opportunities to win a stage, tomorrow is definitely not one of those."|
|Listen to the 5 live podcast|
Stage two result
1 Andre Greipel (Ger) Lotto Soudal 3hrs 29mins 03secs
2 Peter Sagan (Svk) Tinkoff-Saxo Same time
3 Fabian Cancellara (Swi) Trek Factory Racing
4 Mark Cavendish (GB) Etixx - Quick-Step
5 Daniel Oss (Ita) BMC Racing Team
6 Greg Van Avermaet (Bel) BMC Racing Team
7 Christopher Froome (GB) Team Sky
8 Tom Dumoulin (Ned) Team Giant-Alpecin
9 Tony Martin (Ger) Etixx - Quick-Step
10 Warren Barguil (Fra) Team Giant-Alpecin
1 Fabian Cancellara (Swi) Trek Factory Racing 3hrs 44mins 01sec
2 Tony Martin (Ger) Etixx - Quick-Step +3secs
3 Tom Dumoulin (Ned) Team Giant-Alpecin +6secs
4 Peter Sagan (Svk) Tinkoff-Saxo +33secs
5 Geraint Thomas (GB) Team Sky +35secs
6 Daniel Oss (Ita) BMC Racing Team +42secs
7 Rigoberto Uran (Col) Etixx - Quick-Step Same time
8 Tejay Van Garderen (USA) BMC Racing Team +44secs
9 Greg Van Avermaet (Bel) BMC Racing Team +48secs
10 Chris Froome (GB) Team Sky Same time
14 Alberto Contador (Spa) Tinkoff-Saxo +01min 00secs
20 Ian Stannard (GB) Team Sky +01min 20secs
21 Mark Cavendish (GB) Etixx - Quick-Step +01min 24secs
29 Alex Dowsett (GB) Movistar +02mins 02secs
33 Vincenzo Nibali (Ita) Astana +2mins 9secs
44 Nairo Quintana (Col) Movistar +2mins 27secs
96 Stephen Cummings (GB) MTN - Qhubeka +05mins 34secs
108 Simon Yates (GB) Orica GreenEdge +05mins 48secs
123 Peter Kennaugh (GB) Team Sky +06mins 10secs
137 Adam Yates (GB) Orica GreenEdge +06mins 20secs
139 Luke Rowe (GB) Team Sky +06mins 21secs