West Ottawa led 7-6 after one quarter, but started to separate in the second quarter when Austin Esparza threw a 14-yard touchdown pass to Xavier Wade and an 18-yard TD strike to Liam Cavanaugh.
West Ottawa led 21-6 at halftime.
Esparza threw two more touchdown passes in the second half, and the Panthers added another score on a two-yard rushing TD by halfback Shawnkeese Townsend.
Esparza finished with five touchdowns and one interception, completing 19 of 25 passes.
Charlie Young scored Grand Haven’s only touchdown in the first quarter to give the Bucs a temporary lead. He finished with 39 yards on 10 carries.
Kellum Bridgeforth led the Buccaneer defense with five tackles.
West Ottawa moved to 3-1 on the season and Grand Haven dropped to 0-4.