Despite Serbia’s best efforts, Switzerland was able to advance to the World Cup’s round of 16.
The Swiss took the lead with a deflected shot from Xherdan Shaqiri, but Aleksandar Mitrovic tied the game with a spectacular header for Serbia in the 87th minute.
Then, Dusan Vlahovic put Serbia ahead, but Breel Embolo tied it up just before halftime.
A superb goal by Remo Freuler early in the second half put the Swiss in the World Cup quarterfinals for the fourth time in five tournaments.
While celebrating goals in their 2018 tournament match, Granit Xhaka and Shaqiri made pro-Kosovo gestures, which angered the Serbs.
In the second half on Friday, tensions arose after Serbia requested a penalty, prompting the stadium announcer to demand an end to “any racist chants and gestures” around 15 minutes later.
Switzerland, who controlled their own fate, nearly scored within the first 30 seconds, but Vanja Milinkovic-Savic palmed away a shot from Embolo and then saved another attempt from Xhaka.
A long-range, curling shot by Serbia’s Andrija Zivkovic smacked the post, and Vlahovic’s attempt to bury the rebound went straight into the waiting arms of goalkeeper Gregor Kobel.
Mitrovic’s dramatic tumble prompted Serbia to argue for a penalty, but their request was denied. The ensuing altercation was violent, and it led to the booking of Serbia’s backup goalkeeper, Predrag Rajkovic.
Substitute Christian Fassnacht missed a golden opportunity to calm the Swiss by scoring in the 89th minute.
The tension between Xhaka and Nikola Milenkovic nearly reached a boiling point, but the Swiss were able to prevail, setting up a showdown with Cristiano Ronaldo and Portugal.