You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
The Slovak, however, benefited from his rivals’ lack of co-ordination in the final climb as Quick-Step Floors rider Julian Alaphilippe failed to follow up on team mate Philippe Gilbert’s attack and Sagan finished with a brutal burst of speed.
Bora-Hansgrohe’s Sagan held off Italian Sonny Colbrelli, who was second, with Belgian Gilbert taking third place.
Another Belgian, Greg van Avermaet, gritted his teeth in the finale to retain the overall leader’s yellow jersey.
All the overall contenders finished safely with the main bunch.
“It was a really good sprint. Gilbert attacked and I was well placed. He went early and Colbrelli and I launched our sprint at the right moment. Sonny almost beat me but I crushed the pedals harder,” Sagan said.
Thursday’s sixth stage has a similar profile but a harder uphill finish in Mur de Bretagne where Sagan will probably struggle to take a third stage win in 2018.
France’s Alaphilippe, who is six seconds off the pace overall, is widely expected to take the yellow jersey as the finale perfectly suits his abilities.
Wednesday’s stage had been dubbed a mini “Liege-Bastogne-Liege” in reference to the oldest one-day classic, but unlike Sagan, it failed to live up to expectations.
The peloton dozed off during the major part of the 194.5km ride from Lorient, only controlling a seven-man breakaway that ended about 10km from the line with Latvia’s Tom Skujins taking the polka dot jersey for the mountains classification.
“Why not try to hold on to it until Paris,” said Skujins.
Then the pace upped and the stage favourites sprung into action, but the script had been written – victory for Sagan, who extended his lead in the points classification in his bid for a record-equalling sixth green jersey.