Sam Bennett finished eighth on Stage 19 of the Tour de France, all but sealing victory in the points classification ahead of Sunday's final stage, while Primoz Roglic retained the yellow jersey.

Bennett came over the line just ahead of Peter Sagan and Matteo Trentin to narrowly extend his lead in the green jersey race.

The Carrick-on-Suir rider was part of a strong breakaway with 15km to race on a quick, undulating Stage 19 from Bourge-en-Bresse to Champagnole.

But Bennett's green jersey rivals Sagan and Trentin were also in the break, looking to claw back the Deceuninck-QuickStep rider's lead, which he had extended narrowly in the day's earlier intermediate sprint.

"A really hard day," was Bennett's assessment of the 166.5km stage. 

"I had to focus on keeping my advantage over Peter. 

"I have to finish tomorrow in time and then I think I'll only feel safe after the intermediate sprint on Sunday."

Touching back on the cushion he now enjoys, he added: "It's growing day by day but it’s still not finished." 

"Today was the most dangerous day, it was a critical day. I want to thank the team for the amazing job they did, and I think I even outperformed myself. I didn’t expect to be able to ride like that."

Bennett now has 319 points, 53 ahead of Sagan and 67 ahead of Trentin, with a time trial and the final stage into Paris remaining, and is poised to become the first rider from these shores to to win any classification in the Tour since Sean Kelly took green for the fourth and final time in 1989. Achieving  that feat will also end Sagan's stranglehold on a classification he was won a record seven times since 2012.

The Irishman won his first ever stage on the famed Grand Tour earlier in the race, claiming a bunch spring on Stage 10.

The stage was won by Team Sunweb's Soren Kragh Andersen.

Team Sunweb's Kragh Andersen attacked from the breakaway and quickly distanced his fellow escapees to solo his way home.

"For the last kilometre I was screaming, 'Can you confirm one minute?' because I didn’t believe it," Kragh Andersen said.

"Two wins in the same Tour, I’m speechless. I could have never dreamed something better... This is memories for the rest of my life. I’m just super happy."

Roglic has a 57-second buffer over fellow Slovenian Tadej Pogacar in the general classification after the peloton rolled in more than six minutes behind the stage winner.

The battle for yellow will now be settled on Saturday on La Planche des Belles Filles.

Ireland's Dan Martin finished 117th in the main group of riders, with Nicolas Roche six places further back. 

Martin leads the Irish contingent in the general ranking in 41st place, with Roche 62nd and Bennett 137th.