Swift secured his first win since turning professional
Ben Swift broke Edvald Boasson Hagen's run of four successive stage victories in the Tour of Britain by winning the seventh leg from Hatherleigh to Yeovil.
Swift, 21, from Rotherham, out-sprinted his Katusha team-mate Filippo Pozzato to record Britain's first stage win in the event since 2007.
It is his first victory since turning professional at the start of the year.
Norwegian star Boasson Hagen finished third to retain the overall lead going into Saturday's final stage in London.
After an early seven-man break was reeled in, British champion Kristian House and Norway's Stian Remme went away and built a lead of over five minutes before slowly being pegged back.
The team has ridden for me quite a few times now and I've never quite finished it off
The highly rated Swift won the King of the Mountains jersey in the event as an amateur last season and was third in the second stage of May's Giro d'Italia behind Mark Cavendish.
He has been linked with a move to the GB-based Team Sky despite being under contract with Russian squad Katusha in 2010.
"It's really special," said Swift. "I came into the race with aims for general classification, but I had bad luck on the second, third and fourth stages.
"As soon as I was eliminated from the GC then I was going for stage wins.
"The team has ridden for me quite a few times now and I've never quite finished it off, so to pull it off in Britain is quite good!"
Paul Manning, who went on to win Olympic team pursuit gold in Beijing, was the last home rider to win a Tour of Britain stage, in Glasgow two years ago.
Stage seven result:
1 Ben Swift (GB/Katusha) 3 hours 52 minutes 19 seconds
2 Filippo Pozzato (ITA/Katusha
3 Edvald Boasson Hagen (NOR/Columbia-HTC)
4 Mauro Finetto (ITA/CSF Navigare)
5 Alan Marangoni (ITA/CSF Navigare)
6 Geraint Thomas (GB/Barloworld)
7 Kai Reus (NED/Rabobank)
8 Chris Sutton (AUS/Garmin)
16 Russell Downing (GB/Candi-TV-Marshalls Pasta)
All same time
1 Edvald Boasson Hagen (NOR/Columbia-HTC) 26h09'32"
2 Kai Reus (NED/Rabobank) +23"
3 Martin Reimer (GER/Cervelo) +25"
4 Chris Sutton (AUS/Garmin) +28"
5 Russell Downing (GB/Candi-TV-Marshalls Pasta) +37"
6 Geraint Thomas (GB/Barloworld) +40"
7 Lequatre,Geoffroy (FRA/Agritubel) +43"
68 Ben Swift (GB/Katusha) +16'36"