The game was played at Whitehall.
The Pirates played a strong first half when they had Whitehall locked in its defensive end, but were unable to find the back of the net.
A penalty on the Pirates with 11 minutes remaining in the first half gave the Vikings a penalty kick, which they converted, to take a 1-0 lead.
But the Pirates came back, answering with a goal of their own 5 minutes later. Tony Rayo found fellow team captain Bryce Jorissen, who took on four Viking defenders and buried a shot to tie the game.
Whitehall didn’t flinch, however, and responded with a goal that just dropped over Hart keeper Kyan Clark’s hands at the back post for a tap. That made it 2-1 for Whitehall.
Jack Houtteman, Evan Jud and Mason Mulnix had the goals for the Vikings. Jack McDowell had two assists, and keeper Andon Palmer finished with six saves.
The second half was a war of attrition, with both teams going through periods of possession.
It was the Vikings, however, who would sneak through on a breakaway. Clark made the initial save, only to see the Pirate defense slow to get to the ball that gave the Vikings the opportunity to score on the rebound.
Clark finished the game with seven saves.
Whitehall improved to 3-2-1 overall and 2-0-1 in the West Michigan Conference Rivers Division with its second straight win. The Vikings are at Ludington on Monday.
Hart fell to 2-3-1 and hosts Muskegon Catholic Friday at 4:30 p.m.