The South African rider completed the stage in a time of 4:26.55 to take it in quite brilliant fashion.
Simone Ponzi of Italy finished in second for Astana, while Diego Ulissi of Lampre was third.
Daniele Ratto finished in fourth place, while team-mate Kristijan Koren was fifth.
Ponzi remains in the leader’s jersey after two stages.
