Switzerland took a huge step towards the last 16 of the World Cup as Xherdan Shaqiri scored a brilliant solo 90th-minute winner against Serbia.
The Stoke City player collected the ball near the halfway line before dribbling away from the defence and slotting past Serbia goalkeeper Vladimir Stojkovic.
Granit Xhaka had scored a brilliant equaliser for Switzerland after Aleksandar Mitrovic put Serbia in front with a header in the fifth minute.
Serbia, who had a strong claim for a second-half penalty turned down, had dominated the first half, knowing a win would have confirmed their place in the knockout stages.
Switzerland are now level with Brazil on four points at the top of Group E, in second place due to an inferior goal difference.
They will qualify for the last 16 with a draw against Costa Rica, who have already been eliminated, in their final game.
If Switzerland win, Serbia must beat Brazil in their final game to progress.
Second-half performance earns thrilling win
Switzerland had been outplayed in the first half as they struggled to create going forward and seemed unable to contain constant Serb attacks.
But Swiss striker Haris Seferovic was substituted at half-time having had just five touches and that move seemed to spring Switzerland into life.
Xhaka drove a powerful strike from the edge of the box past the stranded Stojkovic to equalise in the 52nd minute and soon after Shaqiri hit the post with a curling effort from the edge of the box.
Shaqiri was far more influential in the second half while he capitalised on poor defending for the winning goal with Serbia leaving themselves exposed at the back as they pushed for a winner of their own.
The forward was left one-on-one with Dusko Tosic on the halfway line and he was too quick for the Serb centre-back after Mario Gavranovic found him with a through ball.
Switzerland faced the prospect of needing to win their final game and hope Serbia beat Brazil to progress but now their fate very much in their own hands.