Fördjupad statistik från matchen här.
De iranska spelarna och fansen firade som om de vunnit VM-guld, helt galna glädjescener efter att de sex minuternas tilläggstid tickat ut.
I den 85:e minuten byttes Östersunds Saman Ghoddos in istället för skyttekungen Alireza Jahanbakhsh, som vann den holländska skytteligan med 21 mål den gångna säsongen, som hade kramp. Det var ÖFK-spelarens VM-debut.
– Det är så fantastiskt. Jag är så nöjd med spelarna som verkligen förtjänade att få med sig segern i dag. Vi hade kanske lite tur med oss men vi förtjänade det med vårt slit, säger Irans portugisiske tränare Carlos Queiroz i SVT:s sändning.
Det var efter att Ghoddos rivits ner djupt in på tilläggstid som målet kom. Ehsan Hajsafi slog inlägget från vänster sida och Bouhaddouz kastade sig mot bollen och målet och fick se bollen gå in vid närmsta stolpen. Det var annars Marocko som låg på för ett segermål mot slutet.
Nannskog: ”Riktigt klumpigt”
– Jag tycker att det är riktigt klumpigt. Där ska bollen bara ut till hörna, säger SVT Sports expert Daniel Nannskog.
Efter en böljande första halvlek med heta målchanser och tufft aggressivt spel gick matchen i stå i andra. Det blev väldigt mycket avbrott ju närmare slutet matchen närmade sig. Tio minuter från slutet hade Marockos Hakim Ziyech ett hårt pressat skott som Irans målvakt Alireza Beiranvand tippade ut till hörna.
Det var Marocko som låg på i slutminuterna där det också blev en del tjafs mellan spelarna och på bänkarna men det lugnade snabbt ner sig.
Iran hade bästa chansen före målet
Den absolut bästa chansen före målet hade Iran strax före pausen. Sardar Azmoun kom helt fri efter att laget erövrat bollen vid mittfältet men den marockanske målvakten Munir Mohamedi räddade på handbollsvis i det som blev en dubbelchans.
I den 19:e minuten skapade Marocko ett enormt tryck med flera chanser som i ett flipperspel. Bollen gick sedan ut till hörna. Där var det ytterst nära flera gånger om för ett marockanskt ledningsmål och lagets bästa chans under matchen.
Strax efter stack Iran upp i en snabb omställning men Karim Ansarifard fick felträff nära mål och bollen for en bra bit utanför.