Kwiatkowski started the individual time trial with an advantage of three seconds over Damiano Caruso and he was quicker than the Italian rider at every time check.
The Polish cyclist eventually finished 24 seconds ahead of Caruso in the overall standings, with Geraint Thomas third, 32 seconds behind his Team Sky teammate.
''I don't actually know the final result, just that I won, and that's all that matters,'' Kwiatkowski said. ''It was very nervous. When I was warming up it started raining so I was scared something might go wrong.
''I had to go with lower tire pressure. It was tricky ... I had to be careful but I had good feelings today and that's why I could finish so well.''
Thomas lost 36 seconds to the leaders following a mechanical failure during the fourth stage of the seven-stage race.
Dennis was quickest on the 10-kilometer (6.2-mile) individual time trial in San Benedetto del Tronto. The Australian, who also won the closing time trial last year, was four seconds faster than Jos van Emden and eight ahead of Jonathan Castroviejo.
''To be honest I was nervous about it,'' Dennis said. ''I was looking at the best times on the course and was thinking, 'What do I need to aim for?'''