The Vikings trailed 13-7 in the second quarter, but scored the game’s final 46 points.
Zarren Aylor led the Vikings with three touchdown passes and three rushing scores.
Aylor scored on runs of 14, 1 and 2 yards, while adding TD passes to Keenan Aylor for 84 and 83 yards and a 59-yard strike to Nolan Throne.
Joe Dowdell scored on a 7-yard run and Jwan Britton added a 3-yard rushing touchdown for the Vikings.
North Muskegon’s scores came on a pair of passes from Erick Bleakley to Riley Fairfield of 30 and 15 yards.
“We gave up a couple of scoring passes over the top to Riley Fairfield in the first half, but we shut them out in the second half,” said Whitehall coach Tony Sigmon.
Zarren Aylor led the Vikings offense with 5-of-10 passing for 252 yards, while adding 93 yards rushing on 14 carries.
“He (Zarren Aylor) did some things that were really good for us,” said Sigmon. “To be honest we were able to take advantage there. Those long passes there, they were long thrown balls but the kids did well getting off the line.”
Britton added 108 yards rushing for the Vikings and Chayce Swanson led the defense with seven tackles.
Tyler Carnes intercepted a pass for Whitehall.
Bleakley was 9-of-18 passing for 157 yards for the Norsemen. He also rushed 11 times for 50 yards.
Vernonell Smith rushed 17 times for 61 yards for NM and Fairfield caught five balls for 111 yards.