It is the Pole's second overall stage race victory of the year, after he also claimed the Volta ao Algarve in February.
Kwiatkowski concluded the race 24 seconds ahead of second-placed rider overall Damiano Caruso (BMC), with Welshman Geraint Thomas (Team Sky) securing a podium position in third.
Thomas will be left wondering what could have been, after a badly-timed mechanical saw him lose time and the race lead on stage four. Nevertheless, the victory stayed within the Sky team.
Adam Yates (Mitchelton-Scott) put in a solid time trial ride to move up from sixth to fifth place overall, with recent Strade Bianche winner Tiesj Benoot (Lotto-Soudal) leaping up the standings from eighth to fourth.
Rohan Dennis (BMC) won the 10km final time trial stage around San Benedetto Del Tronto with a time of 11 minutes and 14 seconds. The Australian was four second clear of second-placed Jos van Emden (LottoNL-Jumbo) and eight seconds ahead of Spanish time trial champion Jonathan Castroviejo (Team Sky).
How it happened
Dennis – winner of the same stage last year – set the quickest time early on in the day, and had an extended stay in the hot seat as a succession of riders came through the finish line and could not beat his mark.
Van Emden was runner-up last year, and again put in a strong ride to challenge Dennis, coming within four seconds and ultimately settling for second once more.
The rain started to fall heavily as Vincenzo Nibali (Bahrain-Merida) left the start house, dampening the roads and making for a trickier course for the final selection of riders – the top order of the general classification. It was noticeable that none of the top 10 riders overall featured in the top 10 of the stage.
Several of the later riders looked as though they were taking it easy around the tight corners on the San Benedetto Del Tronto course, including Nibali and fellow Italian Fabio Aru (UAE Team Emirates).
Rigoberto Uran (EF Education First-Drapac) started the day in fifth overall, but put in a very cautious performance to lose a significant amount of time and slip to 10th overall.
Although the rain stopped and the sun came out, by the time Thomas started as fourth-to-last rider off, the roads were soaked. Mikel Landa (Movistar), Caruso and Kwiatkowski also went off in the same conditions.
Thomas could not challenge a top 10 time on the slimy roads, but posted a respectable 11-37 to comfortably place himself ahead of former Sky team-mate Landa and relieve him of third place overall.
Many of the riders taking part in Tirreno-Adriatico will now turn their attention to Milan-San Remo on Saturday, March 17. The first Monument of the 2018 cycling season.
Tirreno-Adriatico 2018, stage seven: San Benedetto Del Tronto, 10km ITT
1. Rohan Dennis (Aus) BMC Racing, in 11-14
2. Jos van Emden (Ned) LottoNL-Jumbo, at 4 secs
3. Jonathan Castroviejo (Esp) Team Sky, at 8 secs
4. Mads Pedersen (Den) Trek-Segafredo, at 8 secs
5. Gianni Moscon (Ita) Team Sky, at 12 secs
6. Michael Hepburn (Aus) Mitchelton-Scott, at 13 secs
7. Jack Bauer (NZl) Mitchelton-Scott, at 13 secs
8. Luke Durbridge (Aus) Mitchelton-Scott, at 17 secs
9. Primoz Roglic (Slo) LottoNL-Jumbo, at 18 secs
10. Vasil Kiryienka (Blr) Team Sky, at 18 secs
Final general classification
1. Michal Kwiatkowski (Pol) Team Sky, at 25-32-56
2. Damiano Caruso (Ita) BMC Racing, at 24 secs
3. Geraint Thomas (GBr) Team Sky, at 32 secs
4. Tiesj Benoot (Bel) Lotto-Soudal, at 1-06
5. Adam Yates (GBr) Mitchelton-Scott, at 1-10
6. Mikel Landa (Esp) Movistar, at 1-13
7. Davide Formolo (Ita) Bora-Hansgrohe, at 1-15
8. Jaime Roson (Esp) Movistar, at 1-15
9. George Bennett (NZl) LottoNL-Jumbo, at 1-16
10. Rigoberto Uran (Col) EF Education First-Drapac, at 1-22
Thank you for reading 20 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1