Australia's Jack Haig produced a superb solo effort to win stage six of the Tour of Poland in Zakopane today as Peter Sagan relinquished the overall race lead to Belgium's Dylan Teuns.
Orica-Scott rider Haig burst clear with around 20 kilometres remaining of an undulating 189km stage from Wieliczka Salt Mine.
He then held his nerve to maintain his advantage over a strong group including Italian Vincenzo Nibali and Poland's Rafal Majka.
The 23-year-old crossed in 4 hours 58min 55sec for the first win of his professional career.
Team Sky's Dutch rider Wout Poels won a sprint for second out of a group finishing 51 seconds behind.
Bob Jungels of Luxembourg and Quick-Step Floors crossed third as Nibali placed sixth and Majka eighth.
Slovakia and Bora-Hansgrohe's Sagan was dropped shortly before Haig's attack on one of many short and sharp climbs in the closing stages.
Tuens, riding for BMC Racing, finished in the second group to take a six second overall lead over Majka.
Wilco Keidermann of Sunweb and The Netherlands lies a further 10 seconds behind in third with only one stage to go.
Tomorrow's finale will consist of a 132km journey from Bukovina Resort to Bukowina Tatrzańska.