Switzerland’s Xherdan Shaqiri, left, scores past Serbia goalkeeper Vladimir Stojkovic, right, his side’s second goal during the group E match between Switzerland and Serbia at the 2018 soccer World Cup in the Kaliningrad Stadium in Kaliningrad, Russia, Friday, June 22, 2018. Shaqiri scored once in Switzerland’s 2-1 victory. (AP Photo/Antonio Calanni)

Xherdan Shaqiri struck in the 90th-minute to earn Switzerland a vital 2-1 win against Serbia in Group E of the 2018 World Cup at the Kaliningrad Stadium.

Granit Xhaka levelled the match early in the second-half with a stunning effort, after Aleksander Mitrovic’s header put Serbia 1-0 up five minutes into the first period.

The turnaround win puts Switzerland on four points, ahead of Serbia who remain on three, giving them a strong chance of progressing as they face Costa Rica, who cannot qualify, in the final group game.

Serbia now have it all to do to make it to the knockout stage as they must get a result against leaders Brazil and hope Switzerland fail to beat Costa Rica.

Serbia were rewarded for their bright start with an early goal, when Mitrovic glanced a fine header past Yann Sommer after Dusan Tadic’s pinpoint right-wing cross.

Switzerland could have levelled after 11 minutes but Blerim Dzemaili dragged his first-time shot wide from 12 yards after Ricardo Rodriguez’s cross.

Serbia goalkeeper Vladimir Stojkovic was then called into action after 31 minutes to deny Haris Seferovic with a sharp save, as Switzerland fashioned another chance against the run of play.

Serbia twice came agonisingly close to taking further advantage of Switzerland’s openness in first-half stoppage time, with Dusan Tadic involved in both opportunities.

His superb corner was somehow missed completely by Serbian defender Dusko Tosic, who had a free header inside the six-yard.

The impressive Tadic then fired a well-struck volley a yard over the bar from Mitrovic’s knock-down.

At the start of the second-half, Tadic and Mitrovic combined again, with the latter heading over after another quality delivery by Tadic.

Less than a minute later, Switzerland were level on 53 minutes courtesy of a sensational 25-yard strike from Granit Xhaka.

The ball broke into the path of Xhaka, who had time and space to take aim and unleashed a powerful shot which curled across goal and away from the unsighted Stojkovic.

Six minutes later, Switzerland were nearly in front as Shaqiri hit the post with a wicked curling shot from the angle of the box on the right.

In the 65th minute, Serbia could have had a penalty when Mitrovic was dragged to the ground by Stephan Lichtsteiner and Fabian Schar.

Referee Felix Brych instead gave a free-kick to Switzerland and there was no VAR review of the incident.

Serbia came close to taking the lead again five minutes later when Mitrovic couldn’t reach a drilled Kolarov ball across the face of goal.

Switzerland took charge in the final 10 minutes as substitutes Breel Embolo and Mario Gavranovic threatened with shots.

In the final minute of stoppage time, Switzerland completed an incredible comeback to win an enthralling game of football.

Last-man Dusko Tosic stepped out of defence and missed the ball on the halfway line, allowing Shaqiri to race through on goal before sliding the ball under Stojkovic to score a superb breakaway goal.

Shaqiri’s winner broke Serbian hearts as Switzerland held on to claim three priceless points.

Serbia XI: Stojkovic, Ivanovic, Milenkovic, Tosic, Kolarov (C), Milivojevic, Matic, Tadic, Milinkovic-Savic, Kostic, Mitrovic.

Subs: Ljajic, Radonjic.

Switzerland XI: Sommer, Lichtsteiner (C), Schar, Akanji, Rodriguez, Behrami, Xhaka, Shaqiri, Dzemaili, Zuber, Seferovic.

Subs: Gavranovic, Embolo, Drmic.