Colombian Miguel Angel Lopez won the 17th stage of the Tour de France on a day when Sam Bennett tightened his grip on the race for the green jersey. 

Slovenian Primoz Roglic took second place to extend his overall lead over compatriot Tadej Pogacar, who came home third in the 170-km mountain trek from Grenoble to Meribel. 

Bennett again kept his rivals at an arm's length in the points classification race, extending his lead on defending champion Peter Sagan and Matteo Trentin, who both contested the intermediate sprint.

An early break was already underway when the race reached the intermediate sprint and while Bennett was not part of that group, he was tucked in safely with the peloton to take seventh place, claiming nine points.

Sagan took seven points and Trentin six meaning that Bennett now leads them by 47 and 60 points respectively.

There was a nervous end to the stage for Bennett with question marks over whether or not he'd make the time cut on such a gruelling finish, but while it may have been slightly tighter than he would have liked, Bennett made it inside the time limit at 30'22" behind stage winner Lopez. 

In the battle for the yellow jersey Roglic took second place at top of the Col de la Loze, an unforgiving 21.5-km ascent at an average gradient of 7.8%, to extend his advantage over Pogacar, who came home third, to 57 seconds.

Lopez, who jumped away from the leading group 3.5 kilometres from the finish, crossed the line 15 seconds ahead of Roglic and 30 seconds before Pogacar.

The 21-year-old Pogacar now faces an uphill battle to unsettle Roglic, who suffered but was always in control.

Lopez moved up to third in the standings, 1:26 off the pace, ahead of another gruelling mountain stage on Thursday, over 175km between Meribel and La Roche sur Foron.

Dan Martin had the best finish of the Irish riders as he came home in 31st, having been part of the breakaway.