Match ends, Morocco 0, Iran 1.
Iran won their first match at a World Cup finals since 1998 as Morocco substitute Aziz Bouhaddouz scored an own goal in injury time.
Bouhaddouz put the ball into his own net with a diving header at the near post in the 95th minute as Morocco defended a left-wing free-kick.
The result was harsh on the African side, who had wasted numerous chances in the first half and were denied late on when Iran goalkeeper Alireza Beiranvand produced a fine save from Hakim Ziyech.
But Iran took the victory, only their second in World Cup history after a 2-1 win over the United States at France 1998.
Morocco became the second African side to concede a late winning goal in the World Cup on Friday, after Egypt lost 1-0 to Uruguay in Group A, thanks to a last-minute header from Jose Gimenez.
A vital three points for Iran
Both Morocco and Iran impressed in qualifying with Morocco only conceding one goal in their eight games, while Iran remained unbeaten and only let in five goals in their 18 qualifying matches.
However, they were both left rueing the draw that saw them placed in the same group as 2010 winners Spain and European champions Portugal, with only the top two sides advancing to the last 16.
Spain and Portugal, 10th and fourth in the world rankings respectively, have won four major tournaments between them in the past 10 years. Before the match, Iran's coach Carlos Queiroz said his side had been "drawn in the hardest group in the World Cup".
Going into injury time in St Petersburg, it looked like being a result neither Morocco or Iran wanted, before Morocco's Sofyan Amrabat conceded a needless free-kick by fouling Saman Ghoddos near the corner flag.
But that gave Ehsan Haji Safi the opportunity to whip in the free-kick, and Bouhaddouz could only steer the ball into his own net for an unlikely Iran victory.
Morocco will now need a positive result when they play Portugal on Wednesday, 20 June (13:00 BST), before Iran play Spain at 19:00 BST on the same day.
A bad week for Moroccan football
Earlier this week, Morocco failed in their attempt to win the right to host the 2026 World Cup, losing out to a 'United' bid from Canada, the United States and Mexico.
The King of Morocco, King Mohammed VI, has already instructed his country to try again and bid to host the 2030 event, while a strong World Cup showing in Russia would help raise the profile of the team.
However, barring unlikely wins against either Portugal or Spain, they are now facing an early exit after failing to take their chances.
They started at a frantic pace, having four good opportunities inside the opening 10 minutes.
Amine Harit pulled a half-volley wide, Ziyech missed his kick when an inventive free-kick routine saw the ball rolled to him on the edge of the penalty area, Younes Belhanda sent a diving header wide and Ayoub El Kaabi shot off target.
The chances kept coming for the African side as Belhanda had an effort blocked in a goalmouth scramble with Iran goalkeeper Beiranvand saving Mehdi Benatia's follow-up strike.
But, despite Morocco having 68% of possession and 13 shots, Iran picked up the victory.
Iran win despite boot drama
Iran were unbeaten in all 18 of their qualifying matches.
However, their preparations for the tournament were disrupted on Tuesday when Nike said it had withdrawn its supply of boots to Iranian footballers before the World Cup because of new US sanctions.
It did not matter on Friday as a hard-working Iran side, helped by a combination of poor Moroccan finishing, desperate defending and solid work from Beiranvand, survived early pressure to keep the game goalless.
Indeed, Iran had the best chance of the first half when Azmoun was put clean through, with only Morocco keeper Munir Mohamedi to beat.
But the chance was wasted as Azmoun did not show enough composure with Mohamedi denying him and also saving the follow-up attempt from Alireza Jahanbakhsh.
However, it did not matter as Queiroz, who will end his seven-year stint as Iran manager after the tournament, celebrated with his coaching staff and his players at the final whistle.
Man of the match - Mehdi Benatia (Morocco)
Iran score in the second half, despite no shots - the stats
- Morocco have never won their opening match at a World Cup tournament (drew two, lost three), also failing to win in 1970, 1986, 1994 and 1998.
- Iran won just their second match at the World Cup (drew three, lost eight), with this their first since beating USA in June 1998.
- Iran did not attempt a single shot in the second half and were the first team since 1966 to score a goal in a half of World Cup football without attempting a shot.
- Iran kept only their second World Cup clean sheet - their other came in a goalless draw with Nigeria in June 2014.
- Aziz Bouhaddouz's own goal in the 95th minute was only the second own goal scored in the 90th minute in a World Cup match, after Joseph Yobo for Nigeria against France in June 2014.
- Iran have conceded just two goals in their last four matches, keeping three clean sheets.
- Carlos Queiroz has never lost against an African nation at the World Cup (won one, drew two), keeping three clean sheets in those matches.
- 82% of the total shots in this match (18 of 22) came in the first half.
- Aziz Bouhaddouz is just the third player to score an own-goal as a substitute in a World Cup match, after Laszlo Dajka (1986 for Hungary against USSR) and Petit (2006 for Portugal against Germany).
- This was the first victory by an Asian team against an African team in the World Cup finals since Japan won 1-0 against Cameroon in June 2010.
'A cruel defeat' - what they said
Morocco coach Herve Renard said: "I'm feeling disappointed and if we had come out with a draw I would've also been disappointed considering the way the game played out. A defeat, when you had quite a few opportunities, it is the worst thing that could have happened in injury time.
"In a competition you have three matches to play and we still have two matches left. Whoever our opponents are, there is still hope.
"Of course the players are feeling down and we can only blame ourselves. It's our fault and it's my responsibility - we will have to prepare for the next two games really well.
"During the first 20 minutes we should have scored and these defeats, when they come in added time, are cruel."
Iran coach Carlos Queiroz said: "The first games are always difficult and very tough and this one was not different, but this one was also beautiful, a great match.
"We knew they had a very strong and powerful way they start the games but our strategy was from the first minute to create a mental collapse in the Morocco players and we tried to do that by creating frustration and blocking the playmakers.
"In the first half we started to jump out and the most open opportunities belonged to Iran and we were able to create panic in their defence and then the game changed.
"From then on the Morocco players knew we could win the game. You need a bit of luck, Morocco are a great team, great players, but I'm sure they did not expect a tough, courageous team from Iran."
- 16N AmrabatSubstituted forS Amrabatat 76'minutes
- 8El AhmadiBooked at 34mins
- 18HaritSubstituted forda Costaat 82'minutes
- 9El KaabiSubstituted forBouhaddouzat 77'minutes
- 4da Costa
- 15Aït Bennasser
- 21S Amrabat
- 3Haji Safi
- 9EbrahimiSubstituted forHosseiniat 80'minutes
- 18JahanbakhshBooked at 47minsSubstituted forGhoddosat 85'minutes
- 7ShojaeiBooked at 10minsSubstituted forTaremiat 68'minutes
- 10AnsarifardBooked at 90mins
- Cüneyt Çakir
- Shots on Target
Second Half ends, Morocco 0, Iran 1.
Own Goal by Aziz Bouhaddouz, Morocco. Morocco 0, Iran 1.
Foul by Sofyan Amrabat (Morocco).
Saman Ghoddos (Iran) wins a free kick on the left wing.
Foul by Aziz Bouhaddouz (Morocco).
Majid Hosseini (Iran) wins a free kick in the defensive half.
Karim Ansarifard (Iran) is shown the yellow card for a bad foul.
Moubarak Boussoufa (Morocco) wins a free kick in the defensive half.
Foul by Karim Ansarifard (Iran).
Attempt missed. Manuel da Costa (Morocco) right footed shot from more than 35 yards misses to the right. Assisted by Hakim Ziyech.
Aziz Bouhaddouz (Morocco) wins a free kick on the left wing.
Foul by Ramin Rezaeian (Iran).
Foul by Romain Saïss (Morocco).
Ramin Rezaeian (Iran) wins a free kick in the defensive half.
Karim El Ahmadi (Morocco) wins a free kick in the defensive half.
Foul by Saman Ghoddos (Iran).
Attempt blocked. Hakim Ziyech (Morocco) left footed shot from outside the box is blocked. Assisted by Aziz Bouhaddouz with a headed pass.
Medhi Benatia (Morocco) wins a free kick in the defensive half.
Foul by Saman Ghoddos (Iran).