Spain's Gorka Izagirre took second place and Yates finished third, 15 seconds behind.
The overall standings remained unchanged at the top with Thomas leading defending champion Froome by one minute 39 seconds and Dutchman Tom Dumoulin by 1:50.
The defending champion came seventh, one second behind stage winner Michael Matthews of Australia as Aru, who started the day with the yellow jersey on his shoulders, lost 25 seconds to the Briton in the final effort, a 600-metre climb at an average gradient of 9.6 per cent.
Portugal's Rui Costa kept his composure in a tense finale to upset the favourites and clinch the cycling world championships road race on Sunday.