The Slovak rider found himself boxed in around a corner with 150 metres to go but still had time to accelerate past his rivals and cross the line first following a tough uphill drag to the line.
Team Sky's Ben Swift looked on course for victory but Sagan's late charge forced him to settle for a comfortable second ahead of Orica-GreenEDGE pair Allan Davis and Michael Albasini.
Switzerland's Albasini was the rider who inadvertently squeezed Sagan against the barriers on the exit of the final turn, but in the end it did not affect the 22-year-old's chances of victory.
With only a lengthy time trial and two mountain stages remaining Sagan is unlikely to add to his victory haul but will leave the race satisfied with his dominance of the explosive finishes.
"It's another victory for me and the last time I had the ability to do so. I'm very happy - thanks to all my team-mates and the squad," he said.
An initial breakaway of five riders formed early in the stage as Rubens Bertogliati (Team Type 1-Sanofi), Vicente Reynes (Lotto-Belisol), Troels Vinther (Saxo Bank), Matteo Montaguti (Ag2r La Mondiale) and Baden Cooke (Orica-GreenEDGE) went up the road.
With Bertogliati only one minute 45 seconds down in the overall standings it was unlikely that the group would be allowed to stay clear, so the Swiss rider dropped back into the peloton to leave the other four to ride on.
At one point it looked like the break might make it to the end, but the pace in the peloton picked up dramatically inside the last 20km and the gap soon came tumbling down.
Vinther and Montaguti launched one last-gasp bid for victory but the main group swallowed the duo up with just 3km of the stage remaining, allowing Sagan to take another victory.