Magnus Carlsen, right, defeated Etienne Bacrot 2-0 ©FIDE/Eric Rosen

World champion Magnus Carlsen put two turbulent rounds behind him to ease into the semi-finals of the Chess World Cup with a second victory over France's Etienne Bacrot in Sochi, setting up a tie with Polish player Jan-Krzysztof Duda.

Norway's Carlsen was taken to two long tiebreaks against Polish 33rd seed Radosław Wojtaszek and Russian 16th seed Andrey Esipenko, but had no issues defeating Bacrot in back-to-back games.

Duda, seeded 12th, joins him in the final four after winning against Indian 13th seed Vidit Gujrathi today.

There was a stalemate between the two yesterday, but a mistake from Gujrathi in a fast-paced game gave the Pole the advantage,

Duda called it "the game of his life" after winning.

On the other side of the draw, Russian 30th seed Vladimir Fedoseev defeated Iranian underdog Amin Tabatabaei, ranked 86th.

It looked like the game was going to a stalemate again, but Tabatabaei made a blunder and resigned five moves later.

Russian 10th seed Sergey Karjakin forced his match to go to a tiebreak tomorrow, coming back from a loss yesterday to defeat American 30th seed Sam Shankland.

Both opening semi-final games in the inaugural Women's Chess World Cup - also being held in Sochi - ended in stalemates.

Top seed Aleksandra Goryachkina of Russia showed her defensive class by holding Ukrainian fourth seed Anna Muzychuk to a draw, despite looking on the back foot early in the game.

In the other game, Russian 14th seed Alexandra Kosteniuk played to a draw against seventh seed Tan Zhongyi of China.