A spectacular extra-time winner from Mark Gower gave Southend the victory in a tight, scrappy match at Roots Hall.
After a poor opening half hour where both sides created little, Bristol Rovers took the lead in the 36th minute.
Paul Tait passed through Southend's defence as United's Jamie Stuart lost his footing and Lewis Haldane received the ball 10 yards out.
The 18-year-old striker shimmied past Darryl Flahavan and tapped the ball into an empty net from two yards for his third goal in three games.
Their lead only lasted three minutes before Leon Constantine grabbed his fifth of the season and an equaliser for the Shrimpers.
Central midfielder Gower ran with the ball from the halfway line and passed it to 17-year-old Michael Kightly.
The young winger, making his first Southend start, cut into the box and unselfishly passed to Constantine who scored from close range.
In the second half Gower saw a low drive tipped round the post after only 20 seconds of the restart.
Kightly, making an impressive full debut, then set up Gower and his effort was hacked off the line by Rovers subsitute Anwar Uddin.
The away side went close when Ijah Anderson hit a hopeful free kick and Adam Barrett saw his header rebound off the crossbar.
Constantine nearly won it for Southend in the last minute but Miller dived to push out his powerful shot.
In the second period of extra time Gower brought the game to life by curling a right footed effort into the top corner of the net from 20 yards out to put Southend through into Saturday’s draw.