Hosts China powered into the Asian Cup football semi-finals as tiny Bahrain overcame Uzbekistan in a dramatic penalty shoot-out.
Talisman Hao Haidong was the hero for China, breaking the pain barrier to spark a 3-0 victory over Iraq in a bad-tempered clash before a crowd of 62,000 in Beijing.
Defender Zheng Zhi punished Iraqi indiscipline with two late penalties to set up an intriguing semi-final against either South Korea or Iran for a place in the final on August 7.
"We played brilliant football, especially in the first half," said China coach Arie Haan, whose side have never won the Asian Cup.
"It was a pity we did not score more goals but it was still a very satisfying win for us."
Hao had been told he might miss the rest of the tournament after being the victim of a wild tackle in China's 5-0 win over Indonesia in their second match of the tournament.
But the 33-year-old insisted on playing against Iraq on Friday and settled Chinese nerves with a superb strike after eight minutes to register his 37th goal in 98 internationals.
Zheng made it 2-0 from the spot in the 81st minute after a foul on German-based playmaker Shao Jiayi.
Tempers boiled over moments later when Iraq midfielder Qusay Munir kicked out at Sun Jihai, provoking an ugly 20-man brawl.
Goalkeeper Ahmed Ali was then sent off in injury time for punching Sun and another fight erupted as referee Shamsul Maidan of Singapore struggled to restore order. Zheng again stepped up to blast home the resulting penalty.
"The referee was biased against us," fumed Iraq coach Adnan Hamd. "China were playing at home and the pressure got to the referee."
Hamd did, however, apologise for the behaviour of his players towards the end of the match.
"I would like to thank the people of China and apologise for what our goalkeeper did," he said. "He will be punished for his foolish mistake."
BAHRAIN JOY
Bahrain had finished last in their group on their only previous appearance at the Asian Cup in 1988.
But the Gulf side thoroughly deserved to reach the semi-finals after beating Uzbekistan 4-3 on penalties after the teams were deadlocked at 2-2 following extra-time.
Uzbekistan midfielder Leonid Koshelev missed the decisive spot kick, sending Bahrain through to face either holders Japan or Jordan in the semi-finals on Tuesday.
"We deserved to win. Unfortunately, it had to be on penalties," said Bahrain coach Srecko Juricic.
"Japan are favourites to win the tournament, so maybe Jordan would be easier. But we don't need to be afraid. At this stage of the tournament anything can happen."
Striker Vladimir Shishelov snatched an 87th-minute equaliser to force extra time after Bahrain had come from behind to take a 2-1 lead in a pulsating game in Chengdu.
A'ala Hubail pounced in the 71st and 77th minutes as Bahrain seized control after Alexander Geynrikh had put Uzbekistan ahead with a curling free kick on the hour.
But Shishelov gave Uzbekistan a lifeline three minutes from the end of normal time, latching on to a Geynrikh pass to slip the ball beyond Bahrain goalkeeper Ali Saeed.
"The last 15 minutes were very tough for us because three or four of our players had cramp and we could not play properly," said Croatian Juricic. "But the result was just."