Eredivisie: Zwolle 1 Heerenveen 2
The visitors went into the contest on a six-match winless run on the road in the league, while Zwolle have not won in any competition since October.
And it was Iceland international Finnbogason who once again proved instrumental as he netted twice to take his tally for the season to 18 in all competitions.
Finnbogason opened the scoring after 32 minutes, the 24-year-old converting from the penalty spot after goalkeeper Diederik Boer had brought down Luciano Slagveer.
However, just 10 minutes into the second half the hosts levelled things up when defender Joost Broerse found the net.
But Zwolle could not hold on to claim a share of the spoils as Finnbogason struck with a cool finish after 69 minutes to score his 40th Eredivisie goal since making his debut in the Dutch top flight in September 2012.