"To win a stage of the Tour is so important. It's a long time since my first stage win in 2010. I'm like Atlético Madrid – you never really know what to expect from me," Rodríguez told Cyclingnews.com.
"I said this morning, I didn't think there was chance. With the climbs today, we [the breakaway] did quite an impressive job. The Platueau de Beille is a really important race finish.
"I was definitely feeling that I was in better condition than them and I know this climb well so I attacked."
Rodriguez claimed his first win in stage three but struggled over the first two days in the Pyrenees, finishing 34th in stage 10 on Tuesday and 44th on Wednesday after crashing in the neutral zone.
On Thursday he managed to make it into the breakaway on the Col de la Core, before racing ahead of fellow leaders Jakob Fuglsang and Romain Bardet on the hors-catégorie Plateau de Beille and on to the finish line.
Team Sky's Chris Froome managed to retain his lead in the general classification despite finishing the stage in tenth place.
Froome saw off challenges from fellow pre-race favorites Nairo Quintana of Team Movistar, Tinkoff-Saxo's Alberto Contador and Astana Pro Team's Vincenzo Nibal who finished in 11th, 14th and 16th places respectively.
BMC Racing Team's Tejay van Garderen, second on the general classification, failed to close in on Froome after finishing the stage in the same time.
The 13th stage will take place on Friday and run 198.5 kilometres from Muret to Redez.
1. Joaquim Rodriguez (Spa) Team Katusha 5:40:14
2. Jakob Fuglsang (Den) Astana Pro Team 0:01:12
3. Romain Bardet (Fra) AG2R La Mondiale 0:01:49
4. Gorka Izagirre (Spa) Movistar Team 0:04:34
5. Louis Meintjes (RSA) MTN – Qhubeka 0:04:38
6. Jan Barta (Cze) Bora-Argon 18 0:05:47
7. Romain Sicard (Fra) Team Europcar 0:06:03
8. Mikael Cherel (Fra) AG2R La Mondiale 0:06:28
9. Alejandro Valverde (Spa) Movistar Team 0:06:46
10. Christopher Froome (GBr) Team Sky 0:06:47
1. Christopher Froome (GBr) Team Sky 46:50:32
2. Tejay Van Garderen (USA) BMC Racing Team 0:02:52
3. Nairo Quintana (Col) Movistar Team 0:03:09
4. Alejandro Valverde (Spa) Movistar Team 0:03:58
5. Geraint Thomas (GBr) Team Sky 0:04:03
6. Alberto Contador (Spa) Tinkoff-Saxo 0:04:04
7. Robert Gesink (Ned) Team LottoNL-Jumbo 0:05:32
8. Tony Gallopin (Fra) Lotto Soudal 0:07:32
9. Vincenzo Nibali (Ita) Astana Pro Team 0:07:47
10. Bauke Mollema (Ned) Trek Factory Racing 0:08:02