The Palermo striker received a straight red card for a reckless foul on Joao Pereira as Northern Ireland slumped to a 4-2 defeat against Portugal
O'Neill's team had been leading Portugal 2-1, with goals from Gareth McAuley and Jamie Ward putting the hosts ahead, but a Cristiano Ronaldo hat-trick overturned their lead.
Portugal were reduced to 10 men on 35 minutes when Helder Postiga was adjudged to have headbutted McAuley, while Chris Brunt received a red card after the hour mark for a second bookable offence. Lafferty became the third player to be sent off after committing a dangerous fould on Joao Pereira.
"Kyle's was a very reckless challenge, ridiculous," O'Neill told the BBC in the aftermath. "His team mates deserve better than that."
"I feel he let the players down," he continued. "We talk about reliability. We do not have that many players and the ones who come, we need them to be reliable and to do what you ask them to do."
The defeat means that Northern Ireland sit fourth in Group F, behind leaders Portugal, Russia and Israel.