Dennis was the favourite coming into the stage, and justified that billing as he bettered the time of long-time leader Jos van Emden (LottoNL-Jumbo), moving himself up into third overall in the process.
As for race leader Quintana, with a 50 second lead coming into the stage he had little to worry about, eventually finishing in a time of 11-59 to win the race overall by 25 seconds.
Second coming into the stage, Thibaut Pinot (FDJ) was able to hold onto his podium place by nine seconds ahead of Primoz Roglic (Team LottoNL-Jumbo), while Geraint Thomas (Team Sky) finished eighth on the day to move ahead of Tom Dumoulin (Team Sunweb) into fifth.
The 15th rider off the start ramp, Alex Dowsett (Movistar) set the early best mark with a time of 11-35, which stood for a while until it was beaten by a fraction of a second by Ryan Mullen (Cannondale-Drapac).
The next man to take his place in the hot seat was Maciej Bodnar (Bora-Hansgrohe), who went two seconds faster than Mullen, before Jos Van Emden set what looked to be an unbeatable time of 11-21.
For a long time the only rider able to get close to Van Emden’s time was Michael Hepburn, one of three remaining riders from Orica-Scott in the race, who missed out by just a few hundredths of a second.
But with Dennis the third from last rider off, Van Emden would have a nervous wait, and was eventually left disappointed as Dennis powered through the course, crossing the line with a time of 11-18.
Tirreno-Adriatico 2017, stage seven: San Benedetto del Tronto to San Benedetto del Tronto, 10km ITT
1. Rohan Dennis (Aus) BMC Racing Team, in 11-18
2. Jos Van Emden (Ned) Team LottoNl-Jumbo, at 3 secs
3. Michael Hepburn (Aus) Orica-Scott, at 3 secs
4. Stephen Cummings (GBr) Dimension Data, at 8 secs
5. Primoz Roglic (Slo) Team LottoNl-Jumbo, at 11 secs
6. Maciej Bodnar (Pol) Bora-Hansgrohe, at 15 secs
7. Edvald Boasson Hagen (Nor) Dimension Data, at 15 secs
8. Geraint Thomas (GBr) Team Sky, at 16 secs
9. Ryan Mullen (Irl) Cannondale-Drapac, at 17 secs
10. Alex Dowsett (GBr) Movistar, at 17 secs
Tirreno Adriatico 2017, final general classification
1. Nairo Quintana (Col) Movistar, in 25-26-27
2. Rohan Dennis (Aus) BMC Racing, at 25 secs
3. Thibaut Pinot (Fra) FDJ, at 36 secs
4. Primoz Roglic (Slo) Team LottoNl-Jumbo, at 45 secs
5. Geraint Thomas (GBr) Team Sky, at 58 secs
6. Tom Dumoulin (Ned) Team Sunweb, at 1-01
7. Jonathan Castroviejo (Spa) Movistar, at 1-18
8. Rigoberto Uran (Col) Cannondale-Drapac, at 1-36
9. Bauke Mollema (Ned) Trek-Segafredo, at 1-38
10. Simon Spilak (Slo) Katusha-Alpecin, at 1-59