In a strong defensive game, Stahl led by two runs over four innings, and stranded seven Canal baserunners.
Canal rallied in the fifth inning to earn four runs, two of which scored off of a two-out single by Kyle Schneider.
Stahl answered back with a run in the bottom of the seventh when Dustin Sutton stole home with runners on first and third, but fell short after a well-fielded grounder to third base ended the game.
Joines had the only extra base hit (double) for Stahl
Pitching
Canal: Lenard [69p], Bouldin (6) [32] and McDermott, Duckworth (6)
Stahl: McVey [105], Adams (5) [2], Pacheco (6) [18] and Meisel, Armstrong (5)