The victory sees Michael O’Neill’s side consolidate second place in Group F of the European Qualifiers and puts them eight points ahead of fourth-placed Finland at the half-way stage.
Lafferty gave Northern Ireland the lead after 33 minutes with a fantastic volley from inside the box and took his tally to five in five matches when he headed home from Conor McLaughlin’s cross five minutes later.
Berat Sadik pulled a goal back for Finland in second-half stoppage-time but Northern Ireland held on to move onto 12 points in the group.
The win is a huge lift for Northern Ireland after they were beaten by leaders Romania in their last group game in November and moves them a step closer to qualifying for their first major tournament since the 1986 World Cup.
They face a crucial home match next against Romania, who beat Faroe Islands 1-0 to maintain their one-point lead at the top of the group.
Jonny Evans started for Northern Ireland at a blustery Windsor Park but it was Finland who dominated possession in the early stages and Teemu Pukki shot at Roy Carroll from a tight angle.
The hosts also looked dangerous at the other end and had a goal ruled out when Chris Brunt was adjudged to have been offside as he took a short corner that Chris Baird into the net.
The game continued to be an open affair and Northern Ireland spurned a decent chance when Niklas Moisander played a poor pass across his own box to Jamie Ward, but he could not beat the keeper with his shot.
Just a few minutes later the hosts took the lead as a free-kick was headed up into the air and Lafferty showed fantastic technique to swivel and volley into the far corner.
Windsor Park erupted again shortly afterwards as McLaughlin whipped in a great ball from the right and Lafferty got between two defenders to head home.
The quickfire double put an extra spring in Northern Ireland’s step and they went close to making it 3-0 early in the second half as Niall McGinn missed the target at the back post with the goal at his mercy.
Finland still looked threatening at the other end as substitute Joel Pohjanpalo poked wide after beating Carroll to a cross.
But despite dominating possession, the visitors hardly tested the Northern Ireland keeper until late on.
They gave themselves a lifeline in injury-time as Carroll spilt a shot from Roman Eremenko and Sadik finished the rebound.
However, Northern Ireland held on for the final couple of minutes to secure an important victory in their qualification bid.