China 1-1 Iran
(China win 4-3 on penalties)
Hosts China set up an Asian Cup final showdown with close rivals and defending champions Japan after a dramatic penalty shoot-out win over Iran.
Keeper Liu Yunfei saved the decisive spot kick from Iran defender Yahya Golmohammadi for China to win the shoot-out 4-3 after extra time had failed to break a 1-1 deadlock.
Liu's save sent China into the Asian Cup final for only the second time, sparking delirious scenes among the crowd of 62,000 in Beijing.
Third place play-off
Bahrain v Iran
6 August 1300 BST
Japan v China
7 August 1300 BST
German-based playmaker Shao Jiayi put China ahead after 19 minutes, racing on to a Hao Haidong pass to fire home a powerful left-foot shot.
But Sayyed Mohammad Alavi equalised for Iran in the 38th minute, beating Liu with a speculative drive that skidded through a crowd of players.
Three-times champions Iran had been decimated by three suspensions during the group stage and their poor discipline resurfaced three minutes into the second half when defender Sattar Zare was sent off.
Zare and Shao exchanged words and, after the Iran defender shoved the 1860 Munich player in the chest, Lebanese referee Talaat Najm produced the red card, reducing Zare to tears.
Alavi, taken off early in the second half, was also shown a red card for dissent and banished from the bench as tempers flared late in an absorbing game.
Japan 4-3 Bahrain (aet)
Keiji Tamada snatched a superb extra-time winner as 10-man Japan twice came from behind to beat Bahrain.
Three minutes into extra time, Tamada beat three defenders before sliding the ball past Bahrain goalkeeper Ali Saeed.
Holders Japan, who had midfielder Yasuhito Endo sent off in the 40th minute, had been heading for a shock defeat until a dramatic late equaliser from defender Yuji Nakazawa.
Substitute Duaij Naser thought he had scored the winner for Bahrain in the 85th minute, only for Nakazawa to rescue Japan
with a diving header in the last minute of normal time.
"We had a man sent off but the players badly wanted to win and battled to the end," said Japan coach Zico.
Bahrain stunned Japan after just six minutes, A'ala Hubail beating keeper Yoshikatsu Kawaguchi with a low shot on the turn, before Endo was dismissed for striking Mohamed Salmeen.
But Zico's side hit back three minutes into the second half, substitute Koji Nakata climbing to head in a Shunsuke Nakamura corner.
Tamada, who had been unlucky to hit the post in the 12th minute, then put Japan in front in the 55th minute with a fierce
However, Hubail equalised for Bahrain in the 71st minute, sliding the ball past Kawaguchi after a defensive error from Nakata had presented the ball to Sayed Mahmood Jalal - sent off himself in extra time for striking Nakamura.
Hubail amazingly missed an open goal late in extra time that could have forced penalties.