That gave them the early leg up on main rivals Vincenzo Nibali and Nairo Quintana.
While it's too soon for anyone to gain a decisive advantage in the race, British rider Froome and the Spaniard Contador are certainly on the front foot in what is widely touted as a four-way Tour battle.
They're more than a minute ahead of defending champion Nibali and Quintana after both rivals fell behind when the peloton split up in the heavy winds.
"We knew that in stages like today there might be even more differences made than in the mountains," said Contador, who is bidding for a third Tour title. "I was speaking to Froome and (Tejay) Van Garderen and I told them that these are the kind of opportunities you have to take."
They certainly did.
Froome crossed the line in seventh place, 1 minute 28 seconds ahead of Nibali and Quintana, while Contador gained 1:24 on those two after placing 13th.
Langley, B.C., native Svein Tuft was five minutes 47 seconds off the pace in 101st place. Victoria's Ryder Hesjedal was 132nd.
The action-packed trek swept along the spectacular Dutch coastline, with Andre Greipel winning a sprint to clinch a seventh Tour stage victory. The German rider trumped an all-star cast featuring three-time defending Tour sprint champion Peter Sagan, four-time world time trial Fabian Cancellara, and 25-time Tour stage winner Mark Cavendish.
The 34-year-old Cancellara's smile beamed as brightly as the sunshine that finally pierced through the clouds late in the afternoon as he pulled on the race leader's yellow jersey — 11 years after wearing it for the first time.
But the day also belonged to Froome, the 2013 Tour winner who crashed out early in last year's race, and to Contador.
Froome, 10th overall, is now 1:21 ahead of Nibali and leads Quintana by 1:39 in the standings.
With the exception of Van Garderen — the American rider is four seconds ahead of Froome in eighth overall — none of the others in the top 10 is a threat for the Tour victory.
"This is a huge advantage for us to be sitting in this position after one flat day out on the road," Froome said.
Contador, who is 12 seconds behind Froome in 14th spot, moved 1:09 ahead of Nibali and 1:27 clear of Quintana overall.
"We joined our forces with (Nibali's) Astana (team) and kept the gap closer than it could have been," Quintana said.
The stage finish in the heart of the Zeeland Delta offered a spectacular backdrop.
Riders rode over a pier with waves crashing beneath them, and then snaked through treacherously narrow streets packed with crowds.
Nearing the line, Cavendish moved first but Greipel timed his riposte perfectly.
Swiss veteran Cancellara, who is riding in his last Tour, took the race leader's jersey from overnight leader Rohan Dennis after finishing third and picking up a time bonus.
Sunday's 166-kilometre (103-mile) trek started out from the Dutch city of Utrecht, where Dennis had won Saturday's individual time trial. As the weather conditions worsened, crashes became inevitable.
"It turned out to be hectic, chaos, wind, rain," Cancellara said.
Wilco Kelderman, Geraint Thomas — Froome's Team Sky teammate — and Thomas De Gendt all fell following an intermediate sprint through the Dutch city of Rotterdam. They got back on their bikes to continue.
Later, Australian rider Adam Hansen fell, got back on his bike clutching his right shoulder and with his legs caked in dirt. Then, Nacer Bouhanni was one of several involved in a spill at the back of the front group that Nibali narrowly avoided.
It was the Italian rider's only bit of luck.
With side winds causing havoc, the peloton was split apart with 50 kilometres (31 miles) to go, as 26 riders — including Froome and Contador — peeled away into a front group while Nibali was dropped.
"One second Nibali was next to me, and the next I couldn't believe it when I heard he was distanced," Froome said. "I'm very thankful to my teammates for keeping me in front all day."
Quintana was huddled into a third group even further behind, but the Colombian managed to catch up with Nibali.
With 25 kilometres (15.5 miles) remaining, Nibali pulled up on the side of the road with a puncture to his front right tire and, with no teammates around him, had to catch up to the yellow jersey group by riding several kilometres on his own.
The Tour swings into nearby Belgium on Monday for stage three: a 159.5-kilometre (99-mile) route from Anvers to Huy.