Thomas produced a near flawless performance to become the third British and Team Sky rider to triumph after Bradley Wiggins (2012) and Chris Froome (2013, 2015, 2016, 2017).
Dutchman Tom Dumoulin finished second for Team Sunweb after also taking the runner-up spot in the Giro d’Italia won by Froome, who ended up third overall.
Norway’s Alexander Kristoff won Sunday’s final stage, largely a 116km procession from Houilles to the Champs-Elysees, during which Thomas enjoyed some champagne before heading to the finishing line in a bunch sprint.
Froome’s failure to beat Thomas also showed how difficult it is to complete a Giro-Tour double, with Marco Pantani being the last man to achieve the feat in 1998 during the doping-tainted era.
Thomas, who won two mountain stages - including one on the top of the iconic Alpe d’Huez - emerged as the strongest man in the race as he gained ground on his two rivals after taking the yellow jersey at the end of stage 11.
Only in the final time trial did he lose time on Dumoulin and Froome, but he had already virtually wrapped up the title in the mountains.
Thomas’s victory will come as a relief for Sky, especially in the wake of Froome’s popularity nose-diving in France after he was cleared of a doping offense months after testing positive for excessive levels of an asthma drug.
It was, however, a disappointing race for France as Romain Bardet showed his limits when he ended up sixth overall after two podium finishes in 2016 and 2017.
No Frenchman has won the race since Bernard Hinault took his fifth title in 1985.