WATCH the 2020 Tour de France LIVE and EXCLUSIVE on SBS from August 29.
The result on the Queen stage also moved Bernal into the race lead after the final climb of the Col de Beyrede - a Pyrenean climb of brutally steep steps.
Bernal's Ineos teammate Pavel Sivakov finished runner-up to move up to second on the general classification.
The pair are strongly positioned, with one stage remaining at Route d’Occitanie, after an impressive team performance which saw Ineos lead the peloton from the start of the stage - a move Bernal revealed was their plan.
“We came here to win the race, we knew we had a good team and we could control the whole race," Bernal told TeamINEOS.com.
“We were in the front from kilometre zero until the final, we deserved to win the race as we took on the responsibility.
"The team did a really good job, a really good lead out until the last kilometre and then I attacked in the last part of the climb. It was practically just two Team Ineos riders at the end."
“I think it is good training for the Tour de France, this has been good for the Tour group and everything went perfectly today.
“Today was perfect, Dylan, Castro and Andrey did a perfect job and then Chris and Tao and Pavel did a great job too - it was perfect.”
Meanwhile, in the easier middle section of the stage, four-time TDF winner Chris Froome showed glimpses of his best after producing an impressive show of pace-making.