Captain Marc Richards put away a stoppage-time winner to secure Port Vale a much needed home win and deny Morecambe a seventh draw in nine games.
Vale had lost five of their previous six home games and the plucky visitors were on the verge of claiming what would have been a deserved share of the spoils.
But Richards was on the mark to strike the ball into an empty net after a superb low cross from Luke Rodgers had left visiting keeper Barry Roche without a hope.
Rodgers had broken the deadlock in the 80th minute when he capitalised on a defensive error by Jim Bentley to beat Roche with a well-placed shot.
But the visitors levelled within two minutes as centre-back Bentley made up for his mistake when he found the net with a header from Craig Stanley's left-wing corner.
There were six added minutes because of an injury to a linesman and Morecambe twice went close to taking a point after Richards' winner.
A fierce shot from debutant Ryan McGivern, on loan from Manchester City, deflected inches wide of Joe Anyon's left-hand post.
And the resulting corner saw Anyon, who was pilloried for a schoolboy error which led to a goal for Exeter on Tuesday, pull off a stunning save in a goalmouth scramble.
Vale had edged an entertaining first half when Louis Dodds and Richards both struck the woodwork.
A 20-yard volley from Dodds was tipped against the crossbar by Roche in the 26th minute and Richards fired against a post seconds before the interval.
But Morecambe, who started both halves in the ascendancy, also had their moments with Stanley testing Anyon and Stewart Drummond firing over from a good position.