The Norwich City striker, out on loan at Rizespor, scored two goals in five first-half minutes to secure his country's fourth win from five Euro 2016 qualifying Group F matches, with a 2-1 success against Finland on Sunday.
The victory leaves Northern Ireland a single point behind group leaders Romania, ahead of their meeting in June, and O'Neill is delighted with the contribution of the talismanic striker.
"Confidence is the big issue," O'Neill told Sky Sports. "He just had a bit of a difficult of year, I think he has put that behind him and he is playing with a smile on his face, which is lovely to see. He is a big part of this squad and he recognises how important he is to this squad and this team.
"You saw he is a real handful, and he scored two fantastic goals.
"We emphasised the importance of getting the ball in the box in real quality and we saw the result of that."
Lafferty has established himself as the focal point of O'Neill's attack.
A controlled volley and smart header took his tally for the qualifying campaign to five, but Lafferty was quick to credit this latest success to the team's collective effort.
"Overall I think we deserved to win the game from [goalkeeper] Roy [Carroll] right the way up to the top, we were excellent," he told Sky Sports.
"The attitude and the determination and the heart, it was a great team performance.
"Everyone was excellent, although I am getting the goals and the rewards, it is all about the team.
"First and foremost, we have to keep winning games and at the end of the campaign hopefully we will be up there.
"But the way the lads are playing there is no reason we can't be."
Berat Sadik pulled a goal back for Finland in added time, but the hosts never looked in real danger of relinquishing the lead, which helped them move five points clear of third-placed Hungary, albeit having played a game more.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.