Jan-Krzysztof Duda, right, is through to the final of the Chess World Cup ©FIDE/Anastasiia Korolkova

Poland's Jan-Krzysztof Duda delivered an upset victory over world champion Magnus Carlsen in the semi-finals of the Chess World Cup in Sochi.

The 12th seed was taken to a tiebreak after two stalemates with Norway's Carlsen over the last two days.

Alexander Vlasov, the vice-governor of Krasnodar Krai, where Sochi is located, played the first move of the game.

After a slow start, both players agreed to a draw in the first tiebreak game, meaning the winner of a fourth game between the pair would take the tie.

Duda managed to find an advantage and pressed the favourite late in the game with both low on time.

Following a mistake with his bishop, Carlsen was on the ropes and conceded defeat.

Carlsen's attention now urns to his upcoming match with Russian 30th seed Vladimir Fedoseev, who he will play in the third-place playoff.

Duda faces 10th seed Sergey Karjakin in the final, with the Russian defeating Fedoseev yesterday to progress to the showpiece match.

Karjakin won the Chess World Cup in 2015 with a win over fellow countryman Peter Svidler.

The Women's Chess World Cup final concluded yesterday - Alexandra Kosteniuk defeated fellow Russian and top seed Aleksandra Goryachkina - but the third-place playoff continued today.

China's seventh seed Tan Zhongyi won in a tiebreak against Ukrainian fourth seed Anna Muzychuk, with the pair first drawing their first game of the day.

Tan took advantage of an under-pressure Muzychuk - who was running out of time on the clock - and finished off the second game to secure her spot at the 2022 Women's Candidates Tournament.