Yates, who won stage five and was second in stage six, again attacked on the final climb of the 118-kilometre double loop that began and ended in Villars-sur-Ollon.
Again, his Portuguese teammate Joao Almeida was the only rider who could keep up.
On Friday, Almeida had pulled away for the win on the home straight. This time, the two men crossed the line together pointing at each other, 14 seconds ahead of American Matthew Riccitello of Israel–Premier Tech in third.
Yates was adjudged the winner and collected the victory bonus as well as increasing his overall lead over Almeida by three seconds to 31 seconds with just the closing time trial to come.
Colombian Egan Bernal stayed third overall but was unable to take advantage of the hard work of his Ineos Grenadiers teammates. He finished sixth, 16 seconds back to end the day one minute and 51 seconds behind Yates overall.
Both Yates and Almeida are likely to be support riders for UAE leader and Giro d'Italia winner Tadej Pogacar, when the Slovenian launches his attempt to regain the Tour de France title on June 29th.
The time trial on Sunday is a 15.7km climb from the headquarters of the International Cycling Union (UCI) in Aigle to Villars-sur-Ollon.