The win moves Michael O'Neill's side onto 12 points from five games, a point adrift of leaders Romania and, at the time of writing, five ahead of third placed Hungary, who host Greece later tonight.
Lafferty opened the scoring on 33 minutes after Niall McGinn headed the ball back in from a free-kick for the big Rizespor man to swivel and fire an unstoppable volley beyond 'keeper Lucas Hradecky.
Then, five minutes after that, he struck again after getting between two defenders to nod a Conor McLaughlin cross into the corner.
Northern Ireland will feel they should have moved in front as early as the ninth minute when Chris Baird powered home a header from Chris Brunt's cross only for the assistant referee to instantly raise his flag to rule the effort out offside.
Just prior to that the Finns might have seized the advantage themselves as a reward for their bright start with only a McGinn goalline clearance denying Teemu Pukki's header.
Jamie Ward had a great chance on 27 minutes when he found himself one-on-one with Hradecky only for the 'keeper to make a good save.
It was almost 3-0 four minutes after the break when Ward delivered a ball from the edge of the box only for McGinn to be unable to keep his back post effort on target.
As might have been expected, Finland pressed in an attempt to claw their way back into the game.
Joel Pohjanpalo turned the ball the wrong side of an upright after darting in to connect with a Pukki cross while, a little later, Jere Uronen delivered a potentially threatening ball but Roy Carroll was aware of the danger.
But despite their possession Mixu Paatelainen's side proved to be a largely ineffective threat in front of goal.
The visitors did pull a goal back as the game drifted into stoppage time to set up a somewhat nervy finish when substitute Berat Sadik drilled the loose ball past Carroll after a Roman Eremenko effort was spilled.
Northern Ireland: Carroll, C. McLaughlin, McAuley, J. Evans, Baird, Davis, Brunt, Norwood, Ward, McGinn, K. Lafferty subs McGovern (not used), Mannus (not used), D. Lafferty (not used), McNair (not used), Hughes (not used), McCullough (not used), C. Evans (replaced Davis 46), Dallas (replaced McGinn 64), McCourt (not used), Magennis (replaced Lafferty 79), McKay (not used), Grigg (not used)