The Djurgarden midfielder put the hosts two goals ahead in a one-sided first half and went close to a hat-trick in the second period. Mikael Forssell's penalty and Igor Armas' own goal put the result beyond doubt long before Serghei Alexeev scored a late consolation.
Moldova looked to catch their hosts cold, but Gheorghe Ovseanicov's first-minute header was saved by Lukas Hradecky and that was the extent of their attacking threat in the first half.
Perparim Hetemaj's 30-yard effort drew a routine save from Nicolae Calancea, but the opening goal arrived in the 11th minute when Roman Eremenko's corner was kept alive by Forssell and Hamalainen headed home from six yards.
Forssell's 20-yard drive crashed back off the post as Finland sought to quickly build on their lead. Hetemaj and Forssell both threatened in quick succession, the midfielder's 30-yard drive held by Calancea before the former Chelsea striker shot wide from the left of the penalty area.
However, Hamalainen netted the second shortly before half-time, finishing from the edge of the box after being teed up by Daniel Sjolund. The third goal came early in the second half, with Anatolie Doros' foul on Kari Arkivuo allowing Forssell to drill home a 52nd-minute penalty. Doros was booked for the foul.
Hamalainen was denied a treble by the upright before a rare Moldovan foray saw Ovseanicov head Denis Zmeu's cross wide. The fourth goal came with 20 minutes remaining when, from another corner, Eremenko's delivery was headed into his own net by Armas.
Substitute Timo Furuholm almost made an immediate impact after replacing Hamalainen, but Calancea saved well.
Moldova salvaged a measure of pride as Alexeev converted Anatolie Cheptene's through-ball, but it was to little avail and Furuholm, Eremenko and Teemu Pukki threatened further embarrassment.