Der Brite setzte sich mit drei Sekunden vor dem Niederländer Mathieu van der Poel und fünf Sekunden vor dessen Landsmann Tom Dumoulin durch.
Bester Belgier war Mauri Vansevenant auf Rang 27. Die erste Etappe am Freitag hatte Mathieu van der Poel gewonnen.
Mit Platz zwei im Zeitfahren verteidigt van der Poel das Rosa Trikot. Er führt das Gesamtklassement mit elf Sekunden vor Yates an. Tom Dumoulin liegt mit 16 Sekunden Rückstand auf Rang drei.
pcs/ch