Tristan Winkleman was on the receiving end of a 55-yard TD pass from Adam Nelson to give the Bucs an early 7-0 lead in the first quarter.
Caledonia tied the game 7-all before the end of the first and neither team scored again until the fourth quarter, when the Fighting Scots scored twice for a 21-7 lead.
Nelson found Malic Love for a 21-yard touchdown reception to cut the lead to 21-14.
Nelson completed seven passes for 132 yards with two touchdowns and two interceptions and Love finished with 114 total yards.
Ryan Klahorst had 12 tackles for Grand Haven (0-6).