(CNN) -- Slovakian Peter Sagan made up for a series of near misses to claim his first stage win on this year's Tour de France in Albi Friday.
He burst clear after 205.5km from Montepellier to win easily from Germany's John Degenkolb (Argos Shimano) and Italian Daniele Bennati (Saxo-Tinkoff).
South African Daryl Impey held on to the race leader's yellow jersey after claiming it the previous day from Orica-GreenEdge teammate Simon Gerrans of Australia.
Sagan, who has already taken a stranglehold on the green points jersey he won for the first time in last year's Tour, has been denied victory on four previous stages, but made no mistake this time after superb work from his Cannondale team.
They pushed on after the second of the day's climb which left other star sprinters such as Mark Cavendish of Britain and Germany's Andre Greipel, winner of stage six, trailing.
They came home in an 84-strong group nearly 15 minutes down, leaving Sagan to pay his compliments to his helpers.
"This was a show of how strong we are as a team," he told the official Tour de France website.
"Even if it's not an ideal stage for me, I'll keep on trying.
"We did a lot of work on the second climb and we dropped the sprinters and the team started to believe that we could do well."
Impey, the first South African to don the yellow jersey, admitted it had been tough to hold on to it.
"There was a moment on the second climb that the pressure was on, but we handled it pretty well," he said.
"But I was happy to see the top of that climb, that's for sure."
Sagan now has a lead of over 100 points in the battle for green, but Saturday will see the race for yellow hot up as the peloton hit the Pyrenees for the first time in the eighth stage over 195km from Castres to Ax 3 Domaines.
Impey is expected to cede the jersey as race favorites such as Chris Froome and Alberto Contador make their bid for overall domination in the mountains.