World champion Magnus Carlsen was one of two players to win today in Sochi ©FIDE/Eric Rosen

World champion Magnus Carlsen and Sam Shankland each took a major step towards the Chess World Cup semi-finals today in Sochi, winning their opening last-eight games.

Norway's Carlsen, who at one stage sacrificed his queen for a rook and a bishop, beat Etienne Bacrot from France with the black pieces and now just needs to avoid defeat tomorrow to reach the final four.

Shankland was the only other player to record a win today.

The American defeated Russia's Sergey Karjakin - the 2015 World Cup winner - in a game of attrition, and likewise has one foot in the semi-finals.

Karjakin is seeded 10th, and along with Carlsen is the top-10 seed left in the competition.

Iran's Amin Tabatabaei, who entered the event seeded 86th, drew with Russian Vladimir Fedoseev.

Pole Jan-Krzysztof Duda, who knocked out the fifth seed in the last round, was also held to a draw versus Vidit Santosh Gujrathi of India.

The Women's World Cup, which in being held in parallel in Sochi, was on a rest day.