Jamie Ward came close for Northern Ireland after nine minutes, but his effort from distance was blocked. Finland continued to look the most likely, however, with Roman Eremenko passing up another decent chance two minutes later.
Both teams continued to threaten as the half progressed, but neither Chris Brunt nor Pukki could register despite a couple of good opportunities.
Steven Davis had a wonderful chance for the home side after 28 minutes, but the Southampton midfielder was denied by Hradecky following some poor defending from the visitors.
However, Northern Ireland struck twice in the final 12 minutes of the first half. First, Lafferty finished into the bottom corner from inside the box, before the striker headed a Conor McLaughlin cross into the back of the net.