The effort of setting up the sprint, however, caused a big gap to appear and Sagan and Bennati pressed on, with an elite group forming with them.
Race leader Zdenek Stybar was present, with Etixx-QuickStep team-mates Fernando Gaviria and Matteo Trentin for company, while Michal Kwiatkowski (Team Sky), Oscar Gatto (Tinkoff) and van Avermaet completed the group.
Orica-GreenEDGE and Team Dimension Data, in the hunt for a stage win, chased but Reinardt Janse van Rensburg’s efforts for the latter could not stop the gap going out to 25 seconds.
It prompted counter-attacks from Vincenzo Nibali (Astana) and Jan Bakelants (Ag2r-La Mondiale), but that in turn saw the peloton up the pace and close the gap right back up.
On the penultimate passage of the finish line, Nibali and Bakelants had been swept back up and the gap to the front group was into single digits but again some big turns saw the gap go out again.
Bauke Mollema and Jasper Stuyven (Trek Factory Racing) launched a desperate counter-attack, as Stybar saw Trentin and Gaviria dropped from the front group.
A crash in the peloton, which saw Michele Scarponi (Astana) hit the deck hard clutching his collarbone, further disrupted the chase – now led by Alex Dowsett (Movistar).
And still the break stayed clear, allowing Kwiatkowski to hit the front with 500 metres to go for a long-range effort – the Pole opening up a small gap.
Sagan, in the red jersey, responded well though and turned the final corner in the lead but van Avermaet took his wheel and forged past as the line approached.
And the Belgian did enough to deny Sagan once again, the Slovakian having to settle for another second place.