The stage, won by Sonny Colbrelli (Bahrain-Merida), saw the field split into pieces within the opening kilometres as the wind and rain battered the bunch all the way between Rochefort-en-Yvelines and Amilly.
At one point it looked as though Contador would cede time for the second consecutive day as a breakaway containing several of his rivals went clear. However, unlike on stage 1, Trek-Segafredo regained control and brought Contador back into contention. The Spaniard finished safely in the lead group, and sits 1:18 down on race leader Arnaud Demare (FDJ).
"It was a chaotic day from the first moment, and the peloton had many splits. There were a lot of nerves out there today," Contador said at the finish.
"I was always well placed, and at one point I had to move to back a group, but the team has ridden very well, because several teammates have come from behind to help me. They put in a high pace and we were able to catch the group ahead, which I think had a maximum of 20 riders."
"The differences of yesterday with some riders are very big, but many days are left ahead and many things can happen. The important thing is to recover day by day and see what can be done when my terrain comes."
While Trek saved Contador's day, they were unable to secure the stage win with John Degenkolb taking second in the sprint. The German has further opportunities in the race.
"It was another super hard stage with wind and rain from beginning," Degenkolb said.
"I personally felt much better than yesterday. From the beginning, I had a good position. In the end the team protected Alberto pretty well. It wasn't a normal sprint, and everyone was super tired and empty. That's what I like the most. I felt pretty strong but in the end it's a disappointment to get second. It shows that my shape is moving in the right direction, so I'm still happy with second. I've more opportunities in the next few days."
Thank you for signing up to Cycling News. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.