Brady Arsenault’s single was the lone blemish on Shannon’s complete game effort that included 11 strikeouts and no walks.
Dawson Griffin had a double and scored in the third inning for Saint John. Adam Clark had a triple while Ryan Owens and Ryan Van Snick added singles.
Brody McDonald took the loss, giving up a run on two hits in four innings of work. He struck out five and walked two. Arsenault allowed two hits in three innings of relief while striking out four and walking two.
The Alpine improved to 4-1 while the Islanders fall to 1-4.
Charlottetown travels to Fredericton, N.B., Saturday to play a doubleheader with the Royals beginning at 4 p.m.