But a gutsy ride from the race leader Yates saw the 25-year-old Mitchelton-Scott rider limit his losses to just 75 seconds to chief rival Dumoulin - leaving him with a healthy lead of 56 seconds going into the final phase of the race.
Four-time Tour de France victor Chris Froome also had a good day in the saddle moving to up fourth overall after finishing fifth, 35sec behind the Australian.
"To come here and repay the team for all their hard work, and jump back into the top 10 is a big day for me". I thought I would lose a lot more. We'll see. I have a bigger gap to the guys behind him as well - it's not only Tom.
"It's pretty good to beat time-trialists like Tony Martin and Tom Dumoulin", Dennis said. "I hope there won't be any surprises in the future but for now I don't see any reason to doubt his..." I think that I'll be hurting a bit as well. "And by interesting I mean really s**t". Dumoulin was third, 22 seconds behind the BMC Racing Team cyclist.
But France's Thibaut Pinot lost more than three minutes on the stage victor to drop to fifth overall, 1min 8sec off Italy's Domenico Pozzovivo who occupies the final podium position.
"I wasn't good, I had no power".
Three decisive summit finishes in the Alps precede the final processional stage into Rome - but before then there's a potential banana-skin of a stage from Riva del Garda to Iseo.
England bat first against Pakistan in Test
Asad Shafiq , babar Azam, Sarfraz Ahmed (c), Shadab Khan , Faheem Ashraf, Hasan Ali, Mohammad Amir, Mohammad Abbas. England has won the toss and chosen to bat first in the first test against Pakistan at Lord's.