In the first game, Cody Matuz pitched five innings, allowed four runs and struck out seven. Gavin Reames got the win in relief, striking out five in two innings of work.
The game went back-and-forth throughout, with the Trojans taking the lead for good in the bottom of the sixth inning.
Aiden Vela, Matuz and Braxton Ward each had two hits to lead the Trojans. Mayson Whitlow had three runs batted in.
Game two was called after five innings because of darkness with Fruitport leading, 4-1.
Spring Lake had a 1-0 lead early, but the Trojans tied it and then scored three runs in the third inning.
Whitlow led the Trojans with two hits and Brady French drove in two runs.
Whitlow was on the hill for the Trojans and allowed one run on two hits and struck out six. Ryan Bosch picked up the save, striking out the side in the fifth inning.