Colombian Bernal placed fourth on the final stage, a 195km ride raced mainly through the popular hiking destination the Causses de Quercy national park, two seconds behind stage winner Benoit Cosnefroy.
“It was a stage I had earmarked and I’m really happy for myself and the team,” smiled 24-year-old Frenchman Cosnefroy.
However that was enough for Team Ineos rider Bernal to take the overall title, 19 seconds ahead of teammate Pavel Sivakov.
The pair pulled off an Ineos 1-2 on stage three Monday, making time on the final mountain ascent that eventually secured the overall win.
The 23-year-old looks a nailed-on favourite to win this season’s Tour, which was postponed to August 29 due to the coronavirus pandemic.
Four-time Tour winner Chris Froome meanwhile finished way back in 37th place, nearly 10 minutes behind fellow Ineos rider Bernal.
Bernal will ride next in the Criterium du Dauphine, which starts on August 12 and is the final dress rehearsal for the Tour.
Classification from fourth and final stage:
1. Benoit Cosnefoy (FRA/ALM), 4 hours 23min 28sec, 2. Bauke Mollema (NED/TFS) at 2sec, 3. Thibault Pinot (FRA/GFC) same time, 4. Egan Bernal (COL/INE) s.t., 5. Aleksandr Vlasov (RUS/AST) s.t., 6. Alexis Vuillermoz (FRA/ALM) 7sec, 7. Pavel Sivakov (RUS/INE) s.t., 8. Richie Porte (AUS/TFS) s.t., 9. Rafael Valls (ESP/TBM) at 10sec, 10. Warren Barguil (FRA/ARK) 12sec
1. Egan Bernal (COL/INE) 17h 57:27, 2. Pavel Sivakov (RUS/INE) at 19sec, 3. Aleksandr Vlasov (RUS/AST) 23sec, 4. Thibault Pinot (FRA/GFC) 37sec, 5. Bauke Mollema (NED/TFS) 1min 09sec, 6. Richie Porte (AUS/TFS) 1.26., 7. Warren Barguil (FRA/ARK) 1.29., 8. Romain Bardet (FRA/ALM) 1.52., 9. Rafael Valls (ESP/TBM) 1.57., 10. Sebastien Reichenbach (SUI/G.FC) 2.06
26. Miguel Angel Lopez (COL/AST) 5.09.
37. Chris Froome (GBR/INE) 9.26