Great Britain academy rider Simon Yates sprinted to a superb victory on stage six of the Tour of Britain as Sir Bradley Wiggins maintained his lead.
Yates, 21, left the pack trailing to win the 138km stage from Sidmouth to Haytor - the first summit finish in the history of the race.
"I'm ecstatic," he said. "It's one of my best victories. With the company there, you can't get much better."
Tour of Britain recent winners
Jonathan Tiernan-Locke (GB) Endura Racing
Lars Boom (Ned) Rabobank
Michael Albasini (Swi) HTC-Columbia
Edvald Boasson Hagen (Nor) Columbia-HTC
Wiggins finished seventh and leads by 32 seconds with two stages remaining.
After a breakaway group was caught by the peloton, Wiggins took charge at the front in the closing stages as he and Team Sky team-mate David Lopez warded off threats from the likes of 2013 Tour de France runner-up Nairo Quintana and Dan Martin.
Yates then made his move, leaving behind Lopez and IAM's Martin Elmiger to secure a victory that moved him up to third in the general classification.
"I just hoped for a good position as I hit the climb and people just started to fall away," added Yates, the points race world champion.
"Dan Martin and Quintana started to attack and slowly it started to whittle down. I know I have quite a fast kick but I still didn't believe it until I looked behind a few metres before the line."
Saturday will see the penultimate stage cover 155km from Epsom to Guildford, before the race concludes in central London on Sunday.
Stage six result:
1. Simon Yates (GBR) 3h23'43"
2. Martin Elmiger (IAM) at two seconds
3. David Lopez Garcia (SKY) at same time
4. Sergio Pardilla Bellon (MTN) at five seconds
5. Sebastien Reichenbach (IAM) at same time
1. Sir Bradley Wiggins (SKY) 24hrs 10mins 55secs
2. Martin Elmiger (IAM) at 32 seconds
3. Simon Yates (GBR) at 1min 6secs
4. David Lopez Garcia (SKY) at 1min 8secs
5. Sergio Pardilla Bellon (MTN) at 1min 16secs