In an often tetchy and generally drab Group D encounter, Iran held Portugal at bay for 63 minutes. Playmaker Deco, back in the side after injury, broke the deadlock by thumping in a sweet right-foot shot following a left-wing cross from captain Luis Figo.
Iran, eliminated after suffering their second successive defeat, went close to an equaliser four minutes later when substitute Rasoul Khatibi shaved the woodwork. Portugal had much more of the possession but Iran’s defence did well to keep lone striker Pauleta quiet.
Ronaldo made sure of victory with 10 minutes to go, clipping his spot kick high into the net after Figo was sent flying by a tackle from skipper Yahya Golmohammadi. After converting his penalty, winger Ronaldo fell to his knees and screamed with joy.
Portugal, who made three changes to the side which struggled past Angola 1-0 on Sunday, had wasted several good chances in the first half. Deco pounced on a Figo cross to force a fine save from Iran goalkeeper Ebrahim Mirzapour in the 13th minute. Portugal then cranked up the pressure towards the interval, with Ronaldo’s powerful left-foot strike striking the side-netting.
Right back Miguel also pushed forward, stretching Mirzapour again as the ball almost squeezed under his body. Iran had an opportunity of their own when a header from Vahid Hashemian forced Portuguese keeper Ricardo into a smart stop.
Portugal: Ricardo; Miguel, Ricardo Carvalho, Fernando Meira, Nuno Valente; Deco, Costinha, Maniche, Luis Figo, Cristiano Ronaldo; Pauleta
Iran: Ebrahim Mirzapour; Hossein Kaebi, Rahman Rezaei, Yahya Golmohammadi, Mohammad Nosrati; Mehdi Mahdavikia, Javad Nekounam, Ali Karimi, Andranik Taymoorian; Mehrzad Madanchi, Vahid Hashemian
Referee: Eric Poulat (France)