Morecambe suffered their first defeat in nine games in an enthralling clash at the Globe Arena.
Morecambe started brightly and forced a string of early corners with Nick Fenton heading over from one Izak Reid effort when he should have done better.
Izak Reid then drilled a shot over from the edge of the area and had another effort beaten down by some solid Rovers defending.
Morecambe started brightly but the visitors always looked a threat themselves and thought they had taken the lead on nine minutes when Scott McGleish poked the ball home from close range but the goal was disallowed for a foul on Barry Roche by Mat Harrold.
Joe Anyinsah fired an effort just wide after a good run and Cian Bolger saw a close range header well tipped over by Roche.
The Shrimps’ defence failed to take note of the Bolger danger however and gave his side the lead on 26 minutes. Matt Gill drove in a right wing corner and Rovers’ centre back Bolger was again given a free run to head past Barry Roche from close range.
Morecambe struggled to create any clear cut openings but finally forced Stuart Bevan into a save in injury time when Laurence Wilson’s right foot curler was tipped away by the visitor’s keeper.Jason Prince scored from close range
The game sparked into life in the second half as Morecambe scored twice in quick succession. On 57 minutes Jason Price opened his account for Morecambe when he converted Danny Carlton’s excellent cross and six minutes later Kevin Ellison made it 2-1 with a free kick.
Rovers soon fought their way back into the game when Scott McGleish shocked Roche from long range with a sweet strike from 25 yards on 65 minutes when there looked to be little danger.
Joe Anyinsah then completed the comeback for Rovers with a fine individual goal as he beat three weak Morecambe challenges with a run down the left hand side to blast a close range shot past Roche.
Morecambe had chances to level again with Ellison missing an open goal from three yards and Laurence Wilson heading over a Reid corner in injury time.
Boss Jim Bentley named an unchanged side from the one that beat Dagenham 2-1 last week.
Morecambe: Roche; Parrish, McCready, Fenton, Wilson; Reid, Drummond, Hunter, Ellison; Price, Carlton. Subs: Routledge (GK), Charnock, Alessandra, .
Bristol Rovers: Bevan; Woodards, Bolger, Anthony, Brown; Campbell, Gill, Zebroski, Harrold; Anyinsah, McGleish. Subs: Smith, Stanley, Carayol, Richards, Brown.
Ref: D Adcock.