Spanjorerna höll, sin vana trogen, i bollen så gott som hela matchen och då det var som mest extremt hade Iran sex spelare i backlinjen och alla bakom bollen.
I första halvlek skapade Spanien lägen, men de riktigt heta målchanserna lyste med sin frånvaro.
De skulle istället komma i början av andra halvlek. Först var det Gerard Pique som nickade, men den gången rensade en iranier på mållinjen.
Strax efter kom Irans bästa målchans då Karim Ansarifards volley gick utanför.
Och direkt efter det kom sedan målet. Diego Costa tog sig in i straffområdet med bollen, blev avväpnad av Ramin Rezaeian som sedan oturligt nog sköt bollen tillbaka på Costa och in i mål.
Målet var den spanska anfallarens tredje i VM och det spanska landslaget har aldrig förlorat då Costa har hittat målet.
I den 63:e minuten jublade Iran för ett mål efter en frispark, men det underkändes korrekt för offside.
Sju minuter senare var det Spanien som ville ha mål efter en listig hörnvariant, men bollen var aldrig över mållinjen.
Östersundsspelaren Saman Ghoddos kom in i den 86:e minuten.
Nu står de bägge favoriterna i grupp B, Spanien och Portugal, på fyra poäng och för att Iran ska gå till åttondelsfinal krävs ett bra resultat mot portugiserna i den avslutande omgången.
Världsmästerskapet i fotboll
Iran
0 - 1
Spanien
Startelvor
Irans: Beiranvand – Rezaeian, Ezatollahi, Pouraliganji – Ansarifard, Ebrahimi, Hajsafi, Hosseini – Jahanbakhsh, Azmoun, Amiri.
Spaniens: De Gea – Carvajal, Pique, Ramos, Alba – Busquets, Iniesta – Silva, Isco, Vazquez – Costa.