Fine second-half finishes from Jamie Devitt and Tom Barkuizen saw The Shrimps into round two at the expense of last year’s losing finalists.
The visitors had plenty of chances but saw a superb display from Barry Roche and some clinical finishing end their run of six straight wins.
It was a bright and breezy start from both sides, Roche helping over James Baxendale’s shot from 20 yards in the first real chance for either side.
The game was low on clear-cut openings in the early stages but Walsall increasingly looked the more likely to break the deadlock in an encounter that was easy on the eye.
Roche was needed to beat away a 20-yard shot from highly-rated front man Tom Bradshaw on the half hour.
The Shrimps were finding gaps on the counter, Devitt’s shot from a tight angle saved by Craig MacGillivray with Jack Ryan heading over the resultant corner on his first Shrimps start.
At the other end Kieron Morris brought a low save from Roche on 35 minutes before the Shrimps stopper had to parry Milan Lalkovic’s cross over the bar as the League 1 high-fliers pressed without reward.
The Saddlers’ best chance came right at the end of the opening period with captain Adam Chambers firing wide after a one-two with Bradshaw had released him in on goal.
The Shrimps were first to go close after the break, a fine Paul Mullin curler from 20 yards after driving in from the left landing on the roof of the net.
But the second half followed a similar pattern to the first. Roche was grateful that Bradshaw’s effort from close range landed in his arms as the Saddlers front man deflected a Lalkovic shot goalwards.
Against the run of the play The Shrimps went in front on 57 minutes however. A deep cross landed at the feet of Devitt on the left-side of the area and he sent a delightful strike in off the far post.
The goal prompted visiting boss Dean Smith to make a triple change with one of the new faces Anthony Forde immediately testing Roche with two stinging efforts.
But Morecambe got the game’s next goal, doubling their lead on 72 minutes. Barkhuizen used his blistering pace on the counter down the right to break into the area and hammer in a fine finish across MacGillivray.
It was nearly even better for The Shrimps two minutes later with Barkhuizen crashing an effort off the bar with Devitt’s rebound dragged narrowly wide.
The game was far from over as a contest however and Walsall kept coming as they looked to equal a club record for consecutive wins.
Bradshaw was the main threat, turning well in the area 10 minutes from time and seeing his effort beaten away by the legs of Roche.
The visitors were increasingly leaving themselves open at the back however, Barkhuizen seeing a diving header go inches wide on 84 minutes.
Forde kept peppering Roche’s goal at the other end, firing narrowly wide before seeing a free-kick come back of the bar.
Walsall’s efforts ultimately came to nothing however as Morecambe caused the shock of the round.
Morecambe: Roche, McGowan, Parrish, Dugdale (capt), Molyneux, Kenyon (Bailey 72), Goodall, Barkhuizen (Bondswell 90), Fleming, Mullin, Ryan (Miller 68). Subs not used: O’Hara, Devitt.
Walsall: MacGillivray, Kinsella, O’Connor, Preston, Taylor, Chambers (capt), Morris (Forde 65), Mantom, Baxendale (Sawyers 65), Lalkovic (Cook 65), Bradshaw. Subs not used: Jezeph, Downing.
Referee: Sebastian Stockbridge
Attendance: 1,332 (322 away)
Join the debate on Twitter using #shrimpslive