Belgaren Philippe Gilbert försökte överraska med att dra upp spurten tidigt, men blev upphämtad och Sagan kunde vinna en relativt klar seger.
Etappsegern var Sagans tionde i touren genom tiderna.
– Jag hade lite tur idag, men mina lagkamrater gjorde ett bra jobb. Gilbert försökte attackera tidigt, men vi hämtade in honom, sade Sagan i Eurosports sändning.
Belgaren Greg van Avermaet behåller den gula ledartröjan.