The 194km stage from Clermont-Ferrand did nothing to alter Primoz Roglic's status in yellow but was instead defined by the battle between Sagan and Bennett in the points classification.
Sagan's Bora-Hansgrohe team kept the pace high all day in order to drop Bennett before the intermediate sprint, with the Irishman abandoning attempts to get back on the peloton with 80km of the stage still remaining.
The day had been circled for a breakaway, but Bora's high pace prevented a meaningful group getting away, and instead set up a chaotic finish on the streets of Lyon as Sagan sought further points on the finish line.
He would be denied a shot at victory as Team Sunweb's Kragh Andersen got away from the reduced peloton when the race exploded in the final few kilometres, delivering a second stage win for the team after Marc Hirschi's stage 12 victory on Thursday.
The sprint for second place was taken by Luka Mezgec, with Sagan rolling in fourth on a day when he took 23 points out of Bennett's lead in green, cutting his deficit to 43.
"I was fourth in the end I think, and it was the best place I could do," Sagan said. "It was like every sprint, you fight for the position but in the end it was fine.
"The goal was to take more points but it's never easy in the Tour de France. Everybody is going so hard but thanks to all my team-mates, it was a very great job."
The main group of contenders crossed the line together just behind Sagan, though it was notable to see Egan Bernal try a late dig a day after losing 39 seconds to Roglic and Tadej Pogacar on the climb of the Puy Mary.
Bennett eventually rolled in as part of a group almost 20 minutes after the 26-year-old Kragh Andersen had claimed the first Tour stage win of his career.
"I have no words," the Dane said. "I dream about this but it is always hard to say I am good enough before I have done it. I'm amazed and full of emotions. It's crazy, huh?
"I had really good legs the whole day. Of course you never know how good the other guys are but my legs felt good all day. It took a long time in the Tour to get confident, but I knew if I was suffering they were suffering too, and in the end I went for it."