The Katusha-Alpecin sprinter successfully defended his title in a rain-soaked race that came down to a bunch sprint after 218.7km and eight tough climbs.
The Norwegian was superbly led out by his German teammate Rick Zabel, with the latter holding on for second ahead of his compatriot John Degenkolb.
Kristoff won the race for the first time in 2014 but had to wait until last year for his second victory after the 2015 edition was cancelled.
The results are as follows:
1. Alexander Kristoff (Katusha-Alpecin) 5:29:33
2. Rick Zabel(Katusha-Alpecin) 5:29:34
3. John Degenkolb (Trek-Segafredo) 5:29:35
4. Jean-Pierre Drucker (BMC Racing) 5:29:35
5. Pim Ligthart (Roompot-Nederlandse Loterij) 5:29:35
6. Juan Jose Lobato Del Valle (Lotto NL-Jumbo) 5:29:35
7. Jasper Stuyven (Trek-Segafredo) 5:29:35
8. Maximiliano Ariel Richeze (Quick-Step Floors) 5:29:36
9. Michel Kreder (Aqua Blue Sport) 5:29:36
10. Ben Swift (UAE Team Emirates) 5:29:36