Team Sky's Ian Stannard claimed a solo breakaway win on the Tour of Britain's penultimate stage as Julian Alaphilippe protected his overall lead.
The Briton, 31, battled clear of German Katusha-Alpecin rider Nils Politt over a series of sharp climbs as the 215.6km race approached Mansfield.
Alaphilippe, 26, is almost certain to defend the green jersey over Sunday's final 77km circuit race in London.
He remains 17 seconds clear of Wout Poels after finishing in the peloton.
It was Englishman Stannard's second career stage win at the Tour of Britain, adding to his stage three victory at the 2016 event.
He crossed the line 59 seconds clear of Politt, 24, for the first British success at this year's race, with 23-year-old Italian Giovanni Carboni third, three minutes and nine seconds back.
French Quick-Step Floors rider Alaphilippe, who won the King of the Mountains jersey at the Tour de France, is unlikely to have his lead seriously threatened over the flat profile of Sunday's final stage in central London.
Stage seven result:
1. Ian Stannard (GB/Team Sky) 4hrs 56mins 27 secs
2. Nils Politt (Ger/Katusha-Alpecin) +59 secs
3. Giovanni Carboni (Ita/Bardiani-CSF) +3mins 09secs
4. Mark McNally (GB/Wanty-Groupe Gobert) +3mins 54secs
5. Emīls Liepins (Lat/One Pro Cycling) +4mins 04secs
General classification after stage seven:
1. Julian Alaphilippe (Fra/Quick-Step Floors) 24hrs 47mins 25 secs
2. Wout Poels (Ned/Team Sky) +17secs
3. Primoz Roglic (Slo/LottoNL-Jumbo) +33 secs
4. Patrick Bevin (NZ/BMC Racing) +46 secs
5. Bob Jungels (Lux/Quick-Step Floors) +51 secs