Morecambe had chosen to field first at the Riverside but they saw Garstang compile 197-9 from their 50 overs.
After losing Michael Walling (8) early on with the score on 18, Garstang moved to 58-1 before Michael Wellings (25) was next to go.
Fayaz Ughradar (7) followed, leaving Garstang on 66-3 before the dismissals of Mark Walling (14) and Matthew Crowther (8) reduced them to 92-5.
That was when a recovery was staged, led by Ian Walling who top-scored for Garstang with 46 before his dismissal ended a 60-run partnership with Coen Oosthuysen with the score on 152-6.
Oosthuysen was out a dozen runs later when he he was dismissed for 28, followed quickly by Naqib Rahman (2) as Garstang slipped to 168-8.
However, Travis Pieters and Mark Winstanley provided some late impetus before Pieters was run out for 12 from the final ball.
Winstanley was undefeated on 23 for Garstang as Daniel Edwards took 4-48 for Morecambe.
Their reply began poorly as Garstang quickly reduced them to 4-2 with Peter Deeks and Luke Pearson both out without scoring.
A 38-run stand followed for the third wicket, ending as Jamie Heywood (14) became the first of four wickets for Oosthuysen.
His second ended a stand of 34 for the fourth wicket as Ryan Pearson (19) was out to leave Morecambe 76-4.
Seven runs later came arguably the decisive passage of the game as Morecambe slipped from 83-4 to 85-7.
Pieters got the better of Luke Jongwe, bowled for an innings-high score for 45.
He followed that with the wicket of Lloyd Smith (1) before Oosthuysen had Edwards (0) caught behind.
The Morecambe tail rallied, adding 29 for the eighth wicket but Garstang wrapped up victory by taking the last three wickets without any further score.
With Morecambe on 114-8, Oosthuysen claimed his fourth wicket with the scalp of Alex Briggs (25).
It was then Ian Walling who wrapped up Garstang’s victory by bowling Stefan Dixon (0) and Louis Backhouse (0) to leave Morecambe all out for 114 and Garstang celebrating 15 points.