Josh Maja’s injury-time goal saw the Shrimps suffer their third Checkatrade Trophy defeat in as many matches this season.
Tuesday night’s match at the Globe Arena had seemed destined to go to penalties as the clock ticked into three minutes of added time.
However, in the first of those, Morecambe lost the ball sloppily, allowing Bryan Oviedo to advance before chipping a lovely ball into Maja, who took a touch before clinically firing past Mark Halstead.
One goal always looked likely to win a game played out in front of Morecambe’s second highest crowd of the season, boosted by the 1,569 travelling supporters.
Both sets of fans witnessed two much-changed teams, who could not be faulted for their effort but struggled to assert themselves in the final third.
While the visitors made 11 changes from theiur last game, Shrimps’ boss Jim Bentley opted for just the seven with Mark Halstead, Sam Lavelle, Luke Conlan and Jordan Cranston retaining their places.
As he had hinted in advance, Bentley gave opportunities to players returning from injuries such as Garry Thompson, Florent Cuvelier and Alex Kenyon.
There were also starting spots for some of the fringe players with Kevin Ellison, Jason Oswell and Carlos Mendes Gomes handed a chance to impress.
It was a mixed night for them as Cuvelier limped off early in the second half, though Kenyon and Oswell came closest to scoring for Morecambe.
Oswell was foiled inside 10 minutes when his header from Cuvelier’s corner was cleared off the line by Luke O’Nien.
Kenyon came even closer just before the half-hour, seeing his first-time shot from 20 yards cannon to safety via the base of the upright.
At the other end, Halstead palmed away attempts from Jordan Hunter and Jake Hackett as an evenly-matched first half ended goalless.
The stalemate continued after the break with Halstead getting down well to deny Jack Diamond, who also sent another shot off target.
Ellison came close to scoring – more through luck than design – when his cross was fumbled wide wide of his own goal by Sunderland keeper Robbin Ruiter.
A more conventional stop saw him keep out Sam Lavelle’s 90th minute strike and seemingly set up a shootout, only for one mistake and an excellent finish to decide matters.
Morecambe: Halstead, Conlan, Lavelle, Yarney, Cranston, Kenyon, Cuvelier (Tutte 57), Thompson (Hedley 76), Mendes Gomes (Piggott 68), Ellison, Oswell. Substitutes: Szczepaniak, Old, Mandeville, Brownsword.
Sunderland: Ruiter, Bainbridge, Loovens, Ozturk, Oviedo, O’Nien, Power, Hunter (Taylor 60), Diamond (Connolly 65), Maja, Hackett (Neil 90). Substitutes: Patterson, Leonard, Kokolo, Young.
Referee: Paul Marsden.