As Ganna started the climbing with 37km to go, his lead had dropped to 2:27 however, and the time-trial specialist was beginning to look incredibly cold. Although he held on to the top of the climb, Ganna didn't last much longer out front.
A countermove then broke free on the second climb, two men this time.
Giulio Pellizzari and Juan Pedro Lopez forming a dangerous duo up ahead. Doing the majority of the work on the front of the chasing peloton behind was Geraint Thomas. The former Tour de France winner taking a domestique role in the service of race leader Foss.
With Foss not happy with the pace the Welshman was setting however, the Green Jersey took to the front of the bunch himself on the penultimate climb. Despite Foss' efforts though, the gap to the leading duo remained at over 30 seconds. Among the riders struggling at the back of the ever-dwindling group of favourites was Team Jayco AlUla leader and stage 1 runner-up, Chris Harper.
As Lopez and Pellizzari started the final climb, 38 seconds was their advantage and at 6.8km to go from the line, the Lidl-Trek leader attacked solo at the front. Behind though, the attacks were also coming, first from Wout Poels, drawing Foss back to the head of the group to chase.
Although the gap between Lopez and the Foss-led group wasn't extending for the Spaniard, it wasn't really dropping too much either. Summiting the climb, Lopez held around 45 seconds with Pellizzari still somewhere in between. With 3km of downhill to the line, victory was all but assured for Lopez and, having started the day 13 seconds down, into the overall lead of the general classification.