DOHA, Dec. 2 (Xinhua) -- Switzerland joined Brazil in the last 16 of the World Cup on Friday after winning 3-2 in an entertaining and at times bad-tempered Group G game against Serbia.
Xherdan Shaqiri put the Swiss ahead with a diagonal shot in the 20th minute, only for Aleksandar Mitrovic to quickly level the game for a Serbian side that needed to win to qualify.
Victory looked possible for the Serbs when Dusan Vlahovic took advantage of a loss of ball possession by the Swiss and some poor defending to put them ahead 10 minutes from halftime, but Breel Embolo leveled at the end of a chaotic first half after more good work from the motivated Shaqiri.
Remo Freuler put the Swiss back in front in the 48th minute, and this time there was no way back for the Serbs, who looked increasingly tired as the half wore on.
Tensions boiled over in injury time with a pushing match between several players, which saw Granit Xhaka given a yellow card.
A late goal gave Cameroon a famous 1-0 victory over Brazil, but Switzerland's win meant it was not enough to see the African side through.
Brazil fielded a team of second-string players, and Vincent Aboubakar's stooping header in injury time made Cameroon the first African side to beat Brazil in the World Cup.
Unfortunately, Aboubakar had been booked prior to his goal and after he took his shirt off to celebrate, he was shown a second yellow and sent off after a moment he will probably remember all his life.
In Group H, South Korea scored a dramatic late goal to come back from 1-0 down and book their place in the last 16 with a 2-1 win over Portugal.
Things had looked grim for South Korea against a much-changed Portugal when Ricardo Horta ran into space to fire home from around 10 meters out, but Kim Young-gwon slid home from close range in the 27th minute to give South Korea a lifeline.
The South Koreans kept their nerve in the second half and scored a dramatic winner in the first minute of injury time.
Son Heung-min ran almost the full length of the pitch before slipping the ball to Hwang Hee-chan, who clipped the ball over the keeper.
The South Korean players still had to endure over 10 minutes of tension after the end of their game, as they waited for the other game between Uruguay and Ghana to finish.
Uruguay won 2-0 with two first-half goals from Giorgian de Arrascaeta, but went out due to fewer goals scored.
Ghana would have gone through with a win, but lost focus after Andre Ayew's poor 19th-minute penalty and De Arrascaeta made them pay after two assists from Luis Suarez.
Despite seeing penalty appeals for foul on Darwin Nunez and Edinson Cavani turned down, Uruguay were guilty of sitting back and soaking pressure in the second half and only after news of South Korea's winner came through did they throw everything forward in attack and by then it was too late.
The results mean that Portugal will face Switzerland and Brazil take on South Korea in the next round.