Extra-time goals by Rafael Sobis and defender Marcelo gave Brazil a 2-0 victory over 10-man Cameroon, and Argentina also prevailed in extra time, 2-1 over the Netherlands. The Belgians scored three goals — two by Moussa Dembele — after going a man down in the 17th minute to rally past the Italians, the bronze medallist in Athens four years ago, and reach the final four in their first appearance in Olympic football since 1928.
Nigeria beat Ivory Coast 2-0 to return to the semifinals for the first time since it won gold in 1996 and will take on Belgium in Shanghai on Tuesday. Argentina will play Brazil the same night in Beijing.
In Shanghai, China, Lionel Messi scored the first goal and set up the extra-time winner for defending champion Argentina.
Watched by Argentina's football great, Diego Maradona, Messi gave his side a 14th-minute lead with his second goal of the competition, but Otman Bakkal equalized for the Dutch in the 36th.
Messi then sent a through ball for Angel Di Maria, who fought off defender Roy Beerens and rolled the ball past the goalkeeper inside the far post in the 105th minute.
Although it was another sellout 56,000 crowd, Maradona sat in an almost deserted VIP box alongside a team official but got a huge ovation from the fans.
In Shenyang, despite playing with a man advantage from the 52nd minute when Cameroon's Albert Baning received a second yellow card, Brazil failed to break the scoreless draw until Sobis fired a right-footed shot from inside the area in the 101st minute. Marcelo then clinched the victory with a goal from near the penalty spot in the 105th.
It will be the fourth trip to the semifinals for the Brazilians, who have never won the Olympic gold — the only major title the country has never claimed but finished twice with a silver.
Brazil began playing better only after Baning was sent off. Both teams committed several hard fouls throughout the match, and a total of 12 yellow cards were awarded, five for Brazil and seven for Cameroon.
In Beijing, Dembele scored a goal in each half to rally Belgium, which had to play with only 10 men after Thomas Vermalen was sent off in the 17th minute for running over Robert Acquafresca, a foul which resulted in the first of two penalties by Giuseppe Rossi.
His first goal — a header from Tom de Mul's corner — equalized in the 24th despite Italian protests that Luca Cigarini cleared the ball off the line with his right foot.
Kevin Mirallas gave Belgium a 2-1 lead two minutes into first-half injury time, trapping a long ball from Sepp De Roover out of the back, turning and beating defender Salvatore Bocchetti to strike a left-footed shot from 12 meters that easily beat Viviano. Dembele put Belgium ahead for good in the 80th with a left-footed shot from the top of the area.
In Qinhuangdao, Peter Odemwingie scored in the first half and Victor Obinna converted a late penalty to lead Nigeria.
Odemwingie hit a right-footed strike past Ivorian goalkeeper Vincent Angina in the 44th, and Obinna added the second goal in the 80th after defender Souleymane Bamba took down Chinedu Ogbuke Obasi in the box.
Both Nigeria and Ivory Coast struggled to find any sort of rhythm in a sloppy first half that saw players knocking easy balls out of bounds and hitting errant passes to the opposing team. Other than a group of Nigerian fans dressed in green and white that danced and played on trumpets and drums, there was little excitement for the crowd of almost 29,000 until Odemwingie's strike on the counter in the 44th.