Joaquim Rodriguez won his second stage of this year’s Tour de France as Chris Froome held off attacks from his yellow jersey rivals on stage 12.

Team Sky’s Froome clawed back breaks from Vincenzo Nibali, Alberto Contador and Nairo Quintana on the gruelling 15.8km climb up Plateau de Beille.

The Briton is still two minutes 52 seconds ahead of Tejay van Garderen.

Spaniard Rodriguez overhauled Michal Kwiatkowski in driving rain late on to win the 195km route from Lannemezan.

It was the second stage win of the Tour for the 36-year-old Spaniard after he triumphed up the sharp climb of the Mur de Huy in Belgium on stage three.

Rodriguez understandably punched the air as he crossed the line in the pouring rain at the end of the third and final stage in the Pyrenees.

But further down the road a desperate battle was playing out as Froome’s rivals tried to take time out of the Team Sky rider.

Body blows for Chris Froome

Former GB cyclist Rob Hayles: “It was a great ride by Rodriguez to go out so early on the stage an hold on in the conditions. What a race we had in the yellow jersey group. They all gave body blows and tried to isolate Chris Froome. It was Geraint Thomas who played the biggest part for Froome.”

It was as though the other teams were working in concert to try to isolate and expose Froome, with Alejandro Valverde as well as Contador, Nibali and, finally, Quintana all sprinting off the front of the-ever diminishing yellow jersey group.

But Team Sky did not panic and Froome was superbly aided by Richie Porte and, after the Australian fell back, the excellent Geraint Thomas.

Froome at one point tried to attack himself but he was quickly caught and briefly isolated while Thomas hauled his way up the road to rejoin his team leader.

In the end Valverde did sprint clear close to the line but he only managed to take one second off Froome and remains almost four minutes behind.

After a relatively quiet Wednesday, when the leaders appeared content to catch their breath and let Rafal Majka claim a breakaway victory, it was widely expected that Froome’s form would be tested on Thursday.

Chris Froome, Geraint Thomas and Richie Porte

Froome (left) was superbly protected by his team-mates on the day’s final climb

There were attacks from the start of the day and early disappointment for Movistar’s British rider Alex Dowsett, who abandoned shortly after slipping off the back of the main group.

Dowsett had sustained a painful elbow injury after crashing on the cobbles earlier in the race and later said: “Was beaten by the Tour this year. Sad to be heading home, stomach problems in the night was the final nail in the coffin. Will be back.”

Jersey boys

Chris Froome remains in yellow and top of the King of the Mountains classification. Peter Sagan retained he green sprinters jersey and Nairo Quintana remains in the white jersey as the Tour’s best young rider.

Joaquim Rodriguez will wear the polka dot jersey on Friday as he is now second in the KOM standings after leapfrogging Richie Porte.

A group of 22 riders eventually got clear and built a steady lead that grew to more than 10 minutes.

That lead remained fairly steady for some time, although the size of the group varied as the breakaway made its way along a stage that comprised two category one climbs and one category two before the brutal finish.

World road race champion Kwiatkowski and Sep Vanmarcke eventually broke clear, with the former going out on his own.

But on the slopes up Plateau de Beille, Rodriguez showed superb form and determination to catch Kwiatkowski and finish more than a minute clear of Jakob Fuglsang with Frenchman Romain Bardet third.

The Tour moves on from the Pyrenees on Friday, with a 198.5km transitional stage from Muret to Rodez that could end with a sprint finish.

Full results and standings.

Stage 12 result

1. Joaquim Rodriguez (Spa) Team Katusha 5hrs 40mins 14secs

2. Jakob Fuglsang (Den) Astana +1min 12secs

3. Romain Bardet (Fra) AG2R La Mondiale +1min 49secs

4. Gorka Insausti (Spa) Movistar +4mins 34secs

5. Louis Meintjes (SA) MTN-Qhubeka +4mins 38secs

6. Jan Barta (Cze) Bora-Argon +5mins 47secs

7. Romain Sicard (Fra) Team Europcar +6mins 3secs

8. Mikael Cherel (Fra) AG2R La Mondiale +6mins 28secs

9. Alejandro Valverde (Spa) Movistar +6mins 46secs

10. Chris Froome (GB) Team Sky +6mins 47secs

General Classification after stage 12

1. Chris Froome (GB) Team Sky 46hrs 50mins 32secs

2. Tejay van Garderen (USA) BMC Racing +2mins 52secs

3. Nairo Quintana (Col) Movistar +3mins 9secs

4. Alejandro Valverde (Spa) Movistar +3mins 58secs

5. Geraint Thomas (GB) Team Sky +4mins 3secs

6. Alberto Contador (Spa) Tinkoff-Saxo +4mins 4secs

7. Robert Gesink (Ned) LottoNL +5mins 32secs

8. Tony Gallopin (Fra) Lotto +7mins 32secs

9. Vincenzo Nibali (Ita) Astana +7mins 47secs

10. Bauke Mollema (Ned) Trek +8mins 2secs

Sodden fans at the Tour de France

There was hailstone and heavy rain along the route to the finish on stage 12

Joaquim Rodriguez

Rodriguez was supported up the slopes of Plateau de Beille as he held on for a famous win