Disciplined defending from Ireland thwarted the early Portuguese attacks until the 17th minute, when a Ronaldo strike clattered the post from 20 yards before Bernardo Silva somehow sent the rebound wide with the goal gaping.
A rare sustained period of Irish pressure in the 25th minute resulted in Jayson Molumby firing over from range, and though Portugal quickly regained momentum, a Pedro Neto effort dragged wide was the best they could create.
Late in the half, Caoimhin Kelleher was forced to backtrack when a Vitinha strike took a wicked deflection and landed on the roof of his net, before the visiting goalkeeper made a smart reaction stop to deny a near-post header from Goncalo Inacio and did well to get behind a Bruno Fernandes hit.
The Boys in Green needed a vital block from Nathan Collins to deny Silva in added time, but they got to half-time without conceding for the first time in this qualification campaign.

The break did nothing to halt the UEFA Nations League winners’ dominance, as Ronaldo flashed a brace of chances wide of the post in the first 10 minutes.
And just before the hour mark, space opened up for Ruben Neves to have a go, but Kelleher got down well to the curling effort.
With 20 minutes to play, Nelson Semedo then pulled a dangerous ball across goal, but Ronaldo was once again off target with his first-time shot.
Irish resistance looked to have finally been broken as the match entered the final 15 minutes, when Dara O’Shea rushed out to block a shot, and despite claims that he had used his chest, referee Ivan Kruzliak awarded Portugal a penalty for handball. Ronaldo stepped up, but Kelleher denied him with an excellent stop with his foot.
Roberto Martinez’s men threw everything at Ireland late on, and finally found a way through in stoppage time when a superb Francisco Trincao cross was headed home by Neves for his first international goal.
Portugal move on to six wins in a row, while Ireland remain on just one point in the group and without a H2H win for 20 years.
Flashscore Man of the Match: Ruben Neves (Portugal)
