Switzerland joined Brazil in progressing to the round of 16 of the FIFA World Cup from Group G after beating Serbia while Cameroon exited the competition on a positive note with a win over their South American opponents.

Needing a positive result against Serbia at Stadium 974 to progress, Switzerland earned a hard-fought 3-2 win thanks to goals from Xherdan Shaqiri, Breel Embolo and Remo Freuler.

Set against a politically charged narrative, the game quickly came alive inside 30 seconds when Granit Xhaka’s strike was blocked by the Serbian defence before goalkeeper Vanja Milinkovic-Savic denied Embolo one-on-one and Xhaka on the rebound.

Shaqiri then put his side ahead in the 20th minute after his strike slightly deflected off Strahinja Pavlovic on its way into the net.

Serbia then fired back with quick strikes from Aleksandar Mitrovic and Dusan Vlahovic to turn the game on its head in the space of 15 minutes.

Embolo, however, drew his side level just before the break putting away Silvan Widmer’s low cross in the 44th minute.

Powered by the equaliser, Switzerland got their third just minutes after the break with Freuler finishing off a team move to put his side in the driving seat.

The game then descended into chaos as Mitrovic’s penalty appeal was turned away leading to a strong protest from Serbia’s bench which spilt onto the pitch.

Despite their best efforts, Serbia could not find the equaliser sending Switzerland through to the knockout stages of the FIFA World Cup tied on points with Brazil.

Brazil, meanwhile, suffered an unexpected but justifiable 1-0 loss to Cameroon in their final Group G match.

With qualification already secured, Tite decided to rest most of the key players ahead of the knockout phase and Cameroon took advantage through Vincent Aboubakar’s 92nd-minute goal for their first win at a World Cup since 2002.

Brazil will now face South Korea while Switzerland faces Portugal in the next stage.