Windsor Park was bouncing when Jamie Ward's first international goal put Northern Ireland 2-1 ahead of Paulo Bento's star-studded side, who were down to 10 men following Helder Postiga's 43rd-minute red card.
But a famous win went begging when Chris Brunt - deployed out of position as an emergency left-back - was shown a second yellow card after an hour.
Real Madrid star Cristiano Ronaldo took his cue to grab the game by the scruff of the neck and claimed a hat-trick to seal the win.
"I'll look back on this game for a long time as the one that got away," he said.
"Of course I'm disappointed...I thought the performance in the first half was really good - we had tempo, energy, work-rate - all the things we saw when we beat Russia last month were there again.
"We were 2-1 up and in a great position in the game. It looked more likely to go to 3-1 than 2-2, but when it became 10 versus 10 and then 10 versus nine there was too much space on the pitch.
"It was a bit of a lifeline for them, Brunty's sending off, and in the last 20 minutes they showed their class."
O'Neill was relatively forgiving towards Brunt, partly because he had been asked to fulfil an unfamiliar role in the back four, but was positively seething with Lafferty.
"I have sympathy for Chris, playing him at left-back isn't his natural position," he said.
"There was only one moment of indiscipline. Kyle's was a very reckless challenge, ridiculous to be fair.
"I think his team-mates deserve better than that, I feel he let the players down.
"We talk about reliability. We don't have that many players and the ones who come, we need them to be reliable and to do what you ask them to do.
"You want players you can rely on."
Ronaldo is certainly one such player.
His treble - two emphatic headers and a late free-kick - took his international tally to 43.
That is two more than the great Eusebio and O'Neill does not feel the statistic flatters him.
"It's the sign of a world-class player...one of the greatest you will see in the stadium," said O'Neill.
"You have to look at the key moments of the game and say Ronaldo (was the difference).
"When he had an opportunity to exploit space he took a real grasp of the game."
The result took Portugal to the top of Group F, ahead of Russia, and Ronaldo dedicated the result to his late father.
"It was an important result for Portugal in a very special date for me," he wrote on Twitter shortly after full-time.
"I would like to dedicate this victory to my father that has left us eight years ago."
Bento, who celebrated passionately as each of Ronaldo's goals hit the back of the net, hailed his match-winning superstar.
"He is a different kind of player, we recognise that...everybody recognises that," said Bento.
"Of course we are happy and proud to have him with us and to help us in difficult situations.
"He scored three goals and he was crucial.
"I think he will be recognised as one of best players in Portugal's football history for sure."
- Sports & Recreation
- Cristiano Ronaldo
- Chris Brunt
- Kyle Lafferty
- Paulo Bento