Robbie Ferguson scored a couple of goals, including the game-winner to lead No. 5 seed John Stark-Hopkinton to a 4-2 win over No. 4 Portsmouth in a Division III hockey quarterfinal on Saturday.
John Stark-Hopkinton advances to a semifinal game against Berlin on Wednesday at Everett Arena in Concord.
The game will be rematch of last year's championship game, which Stark-Hopkinton won, 3-2 in overtime.
The Mountaineers won a pair of games, 5-2 and 7-4, at John Stark earlier this season.
Peter Sawitsky scored John Stark-Hopkinton's first goal on Saturday and Ferguson made it 2-0 with a short-handed goal.
Beau Arsenault scored a pair of goals to tie it, but Ferguson scored the winner with 11:26 left in the third period.
The other semifinal pairs Belmont-Gilford against Souhegan. Souhegan routed Laconia-Winnisquam, 10-0.
Berlin 10, Con-Val 1: The No. 8 Cougars traveled to No. 8 Berlin and were routed by the top-ranked Mountaineers. Berlin improves to 17-2.
Belmont-Gilford 3, Kennett 2 (OT): Belmont-Gilford got an overtime goal from Caleb Drouin to hold off an upset bid by the Eagles and advance to the semifinals.