Hosts Iraq are set to face Oman in the final of the eight-nation Arabian Gulf Cup at 7pm (16:00 GMT) on Thursday.
Thousands of fans without tickets had gathered outside the stadium since dawn in the hope of watching the rare home international match.
An AFP photographer inside the stadium said the turnstiles were still closed when the stampede broke out. Sirens blared as ambulances arrived to ferry the injured to hospital.
Images posted on social media showed a sea of people outside the stadium.
The tournament faced several incidents, including chaos inside the VIP section during which a Kuwaiti prince was not able to attend the opening match earlier this month.
The tournament started on January 6, with teams from the six Gulf Cooperation Council countries — Bahrain, Kuwait, Oman, Qatar, Saudi Arabia and the United Arab Emirates — as well as Yemen and Iraq. It’s the first time since 1979 that Iraq has hosted the tournament.