Ireland were denied a historic victory against Portugal when Matt Doherty's strike was disallowed by Spanish referee Jesús Gil Manzano in injury-time as an entertaining World Cup qualifier ended scoreless at the Aviva Stadium.
Debutant Will Keane was adjudged to have fouled Portugal keeper Rui Patricio moments before the Spurs man slammed the ball home from six yards out.
The visitors moved top of the table on goal difference and now only need a point against Serbia on Sunday to qualify for the World Cup.
Portugal ended the game with ten men as Ireland pushed for the late winner, while talisman Cristiano Ronaldo had two second-half efforts fly just wide of either post.
It was a bright start from the home side, roared on by the first full house since the start of the pandemic, and while Portugal looked neat and tidy in possession, they certainly were happy to ease themselves into the game.
So it was no surprise that Ireland were first on the attack in the sixth minute as the play was switched to Matt Doherty in space on the right.
Jeff Hendrick flew forward and stepped over the ball into the box, forcing a moment of panic in the visitors' defence, resulting in a corner from the hurried clearance.
From the corner, Shane Duffy won the ball well and knocked it down into a dangerous area in front of goal but there were no green shirts on hand to capitalise.
Portugal's first foray forward came two minutes later as Ronaldo made a great run into the box, however, it was matched by Seamus Coleman who covered the run and blocked the shot.
Gavin Bazunu was then called into action in the 13th minute as the visitors clipped a clever quick free over the top, which led to an Andre Silva snap-shot, which was saved by the keeper at the near post.
Ronaldo again had a look at goal in the 17th minute as Portugal worked the ball up the right before clipping a perfect ball back into the path of the inrushing Manchester United man.
Yet again Coleman was on hand to throw himself in front of the well-hit shot and cleared the danger.
Chiedozie Ogbene almost caught the keeper in possession a minute later as Rui Patricio was well outside his area, however the scambled clearance proved effective enough with Hendrick and Doherty bursting forward, but unable to work the ball on goal.
Portugal then enjoyed a good period of possession inside the Irish half, which led to a major talking point as Ronaldo was clattered in the box by an Irish defensive sandwich.
Doherty and Coleman combined to nobble the danger man, with the former certainly catching the head of the Portugal captain with his arm – yet no action was taken.
As Ronaldo lay prone, Ireland broke forward allowing Robinson to work the keeper for the first time with a stinging shot from the left. A fine curling effort but it was a nice height for Patricio.
Ogbene was then cautioned for swinging an arm back at the clinging Danilo, who made a meal out of it, going down holding his face when the contact appeared to connect with his chest.
A Calum Robinson shot from the edge flew wide in the 35th minute as Ireland looked to get back on the front foot, while Matheus Nunes’ shot deflected over a minute later.
More corners followed for Ireland but they were unable to work the ball on target, but then a minute before the break two chances presented themselves from a well worked free.
The ball was moved left and played over to Egan to work towards Ogbene who was continually making a nuisance of himself in the box.
The ball dropped into the path of Hendrick who looked ready to smash the ball home only for a vital interception by Nelson Semado who cleared the danger.
Moments later, the half-clearance was worked back in from the left and with Ogbene arriving at the near post, he could only work his header over the bar.
So scoreless at the break, and while Portugal threatened at times, Ireland more than matched them throughout and will have been disappointed not to have made more of the plethora of set=piece opportunities in the opening half.
Ireland came out for the second half and looked to go a bit more direct, looking for the run of Ogbene over the top of the high line. And the former Cork City forward was giving Danilo the runaround as the centre-half was really struggling with his pace and power.
A 53rd-minute free was wasted, as there was pushing in the box, while the ball also appeared to hit a Portuguese arm.
But then there was real drama in the box as the visitors tried to play the ball out of the area.
Matheus Nunes cut across the face of the goal before slipping to allow the stray ball roll into the path of Ogbene.
A moment's hesitation and the chance to hit it was lost as the ball was worked back to Josh Cullen who got a shot on target, but it was tame.
As the game reached the 60-minute mark, Duffy took one for the team from a Ronaldo free-kick and the big Derry man went to the ground, which may have been a distracting tactic as the shot may have caught a bit of his arm as he tried to get his head on the fiercely hit strike.
And then in the 67th minute, the ball arrived into the box with Ronaldo getting between Hendrick and Coleman. Was lightning about to strike for the third time?
Two chances, two goals in Faro, but this time the talismanic forward opted for precision and helped the ball towards the back post, and it was mere inches from handing his side the lead.
Ireland were now in the ascendancy as Portugal struggled at the back with both Danilo and Pepe picking up yellow cards, yet still Stephen Kenny's side could not threaten from the dead-ball situations.
Portugal also went on the attack, but without too much intent and it was the home side who created the best chance with 15 minutes remaining.
More great work from Ogbene on the right led to the ball getting smashed across the face for Enda Stevens to run on to. The former Shamrock Rovers man worked a shot on goal but it flew over the bar.
With Ireland pushing on and looking for a victory, there was space left in behind and Ronaldo did not need to be asked twice as he exploited the hole and ran in from the left flank.
This time, the world star looked to curl the ball beyond Bazunu to the far post and while the keeper looked to be beaten, the ball stayed wide of the woodwork, but only just.
With eight minutes remaining Pepe was handed his marching orders for a foul on Robinson, his second bookable offence.
Pepe has been sent off for a second yellow card. First was a handball, second was a hand to face of Callum Robinson.— RTÉ Soccer (@RTEsoccer) November 11, 2021
The Portugal defender did not go quietly.
💻 https://t.co/gKUO2jcTtR #RTEsoccer #IRLPOR pic.twitter.com/kmPexmXhZ8
If it was a touch harsh, it was identical to Ogbene's in the first half and he had to go.
Damage limitation at this point for Portugal but they did manage to attack over the top once again, this time Bazunu sending the danger wide.
Into the last five as Ireland piled forward with substitute Adam Idah stretching for a header before Doherty had a shot blocked on the edge.
In the 89th minute, and for all their changes and reorganising, it was notable that Ronaldo was left on the pitch.
But Ireland were keeping the ball up the pitch, and with five minutes of additional time to play, the big man from Manchester, Will Keane was sent on for his international debut.
But then Portugal were awarded a free as substitute Joao Felix was upended.
All eyes were on Ronaldo as the ball was lifted into the box but Bazunu came and collected.
And then it looked like Ireland had won it as Matt Doherty slammed the ball home from six yards out.
A looping ball dropped at the near post and while Keane appeared to legally stand his ground, allowing Conor Hourihane to lift the ball back across goal, the referee blew for a foul on the keeper.
One last chance, and of course it fell to Ronaldo who broke down the right and squeezed past McClean into the box.
The angle was narrowing as he blasted at the near post, but again Bazunu was big and strong to make the vital save.
And so the World Cup campaign came to a close, in terms of home fixtures, as Kenny's men left the pitch to a rapturous reception, with one last game in Luxembourg on Sunday to call time on Qatar 2022.
Republic of Ireland: Gavin Bazunu; Seamus Coleman (capt), Shane Duffy, John Egan; Enda Stevens (James McClean 78), Matt Doherty, Josh Cullen, Jeff Hendrick (Conor Hourihane 78); Jamie McGrath (Adam Idah 61), Chiedozie Ogbene (Will Keane 90), Callum Robinson
Portugal: 1 Rui Patrício; 2 Nélson Semedo, 3 Pepe, 13 Danilo, 5 Diogo Dalot; 10 Matheus Nunes (8 João Moutinho 57), 11 Bruno Fernandes (16 Renato Sanches 75), 19 João Palhinha; 17 Gonçalo Guedes (15 Rafael Leão 56 (6 José Fonte 83)), 7 Cristiano Ronaldo (capt), 9 André Silva 23 João Félix 75)
Referee: Jesús Gil Manzano (ESP)