Switzerland were utterly outplayed in the first period, but came to life after the break, recovering to win 2-1. Both goals came from players with Kosovo-Albanian roots, who had faced boos from the Serbian supporters.
The old cliche about a game of two halves rarely fitted so well. Switzerland's first-half performance was dire, as exemplified by the half-time substitiution of their striker Haris Seferovic, who had only touched the ball twice in all of the first 45 minutes.
Serbia's rambunctious front man Aleksandar Mitrovic was playing like a man possessed from the kick off. In the fifth minute, he had a powerful header parried by Swiss keeper Yann Sommer. Within seconds of this spectacular save, Mitrovic rose to send another header towards goal, this time beating Sommer in the opposite corner.
The striker's continued in this vein throughout, trying a first-half bicycle kick and remarkably winning one second-half header despite two defenders trying to rugby tackle him to the ground. Mitrovic only appealed for the penalty after winning the header, and was waved away.
Switzerland's turnaround after the break was as clinical as it was unpredictable, and their equalizer came out of nothing. Granit Xhaka connected perfectly with a first time shot, giving Vladimir Stojkovic no chance in the Serb goal. Xhaka, one of several Swiss players whose families moved to Switzerland during the Balkan wars, proceeded to goad the Serb fans by celebrating by making an Albanian eagle gesture with his hands.
To rub salt in the wound, it was another Swiss-Kosovar, Xherdan Shaqiri, who put an average performance behind him to deliver the winning goal when it mattered most in the 90th minute.
Brazil, Switzerland and Serbia can all still qualify from Group E, while Costa Rica are definitively eliminated. Bookmakers' favorites Brazil and Switzerland have a one-point lead over Serbia, who will need a win against Brazil in their last game to have any chance of progressing.
90+6' Shaqiri shoots wide from distance. And that's all she wrote!
90+5' A few hopeful Serbian long balls have not created a chance, and the seconds really are ticking by now.
90+3' Four additional minutes. After that first half, Serbia will be scratching their heads at this scoreline.
90' Great through ball releases Shaqiri around the half way line. He wins the foot race and keeps his cool to finish low as Stojkovic came out and a defender toiled to get back. That's two goals by renowned Swiss-Kosovars against Serbia, which won't go down well in Belgrade.
90' GOAL! Xherdan Shaqiri! Switzerland turn it around.
86' Rodriguez's free kick is deflected behind for a corner.
85' Matic, already booked, trips Shaqiri. The Swiss star's right up in referee Felix Brych's face demanding a second yellow. Nothing doing.
83' Another big Swiss chance stifled by Stojkovic in the Serb goal. Breel Embolo headed down a high ball into Gavranovic's path, his low shot forced Stojkovic to really stretch to parry it away. Switzerland's two subs combine.
82' Breel Embolo tries his luck from way out, nearly taking the keeper by surprise. Seconds later, another chance is just about cleared to concede a Swiss corner.
77' Shaqiri running at the Serbs on the counter, he had Gavranovic running unmarked in support but elected to go it alone. Unfortunate decision in a very promising breakaway.
74' Side netting Gavranovic! But it wouldn't have counted. The flag was up for offside. Shaqiri's excellent through ball was not timed quite right.
72' Schalke's Breel Embolo comes on for the Swiss.
68' Really dangerous low cross across the goalmouth from Kolarov. Mitrovic couldn't get his toe to the ball, which was just begging for a touch.
66' Another cross, and yet another Mitrovic header. He wanted a penalty, as he wrestled with two defenders, but Felix Brych seems to think all the parties played their parts. Remarkable, in his wrestling match against two men, that Mitrovic still made contact with the ball.
61' Hamburg's Filip Kostic is not having much joy down the left against Swiss captain and Arsenal's new signing Stephan Lichtsteiner. The veteran's kept the live-wire pretty much in his pocket.
57' Xherdan Shaqiri swivels and shoots and hits the post from an impossible angle. The Swiss clock has finally chimed, they're awake now.
53' A loose ball bobbled across the edge of the box, Xhaka arrived on his favored left peg and simply let rip, finding the far corner. A really special strike from the Gunner and former Foal.
53' GOAL! Granit Xhaka. Woof, pick that one out.
52' A Serbia corner, and yet again it's Mitrovic leaping highest to head the ball. Just over the bar.
49' Munich-based lawyer Felix Brych, Germany's World Cup referee, is in charge of keeping the peace in this one.
48' An early period of possession for the Swiss is still yet to result in any real breakthroughs.
46' We're back underway.
Switzerland make a half-time change. Striker Haris Seferovic makes way for Mario Gavranovic. Seferovic only had two first-half touches of the ball!
HT analysis: Very, very impressive stuff so far from Serbia. They have only scored the one but probably could have had several more. Agent provocateur Aleksander Mitrovic has been at his bullish best up front, contesting every 50-50 ball, scoring with a header, and even attempting a bicycle kick. Switzerland have really struggled to impose themselves and will need to improve after the break.
45+1' Another minute, another Serbian chance. Great nod down for Dusan Tadic, who volleyed it just over the bar. Well struck effort. Soon thereafter, Nemanja Matic picks up a booking for a late tackle on Lichtsteier.
44' Serbia will be distraught to lead by just one after this half. They've been all over Switzerland.
37' Dadic fires another shot at Sommer from distance, but it's right down the Gladbach keeper's throat.
33' The route to goal just opened up for the Swiss, but they squandered the chance by playing three too many square passes, rather than pulling the trigger.
26' Mitrovic tries a bicycle kick as the Serbs smell a second.
18' Ricardo Rodriguez pulled up for one of the more blatant holding fouls you'll ever see. Perilously close to a bear hug.
16' Another Serbia attack ends in Sergej Milinkovic-Savic firing wide of the target.
14' Another dangerous cross locates Mitrovic in the box. The lad might be a bit of a hot-head, but he's also a towering presence with that same head.
12' The Swiss are settling down after that early shock but are yet to really trouble Serbia's back line. A blocked Xherdan Shaqiri shot from range classes as their highlight thus far.
5' The big number 9 is a real handful in the air, and he's proved that twice in five minutes. Switzerland will be kicking themselves for sloppily conceding possession and allowing Serbia to fire in another dangerous cross towards Mitrovic.
5' GOAL!Second time lucky for Mitrovic! Sommer has no answer to this header.
5' Huge save from Yann Sommer in the Swiss goal, denying Aleksander Mitrovic's header.
3' An early tussle in the area promptes a Swiss penalty appeal. IT was the very definition of "six of one and half a dozen of the other," though, as both players jostled and tugged at each other. No penalty.
Here are the lineups for Friday's late game in Kaliningrad. As ever when the Swiss play, there's a massive Bundesliga and ex-Bundesliga contingent in action.