Bristol Rovers 1 Southampton 0
Rickie Lambert on his 26th birthday fired them into the hat with a free-kick from just outside the box after he had been brought down.
It was his sixth goal in the cup this season and, although his kick took a deflection on the way in, the big striker will see that as compensation for an earlier disallowed header.
That was chalked off for an infringement by another player as he climbed above defenders from a corner.
However, the defeat left Southampton with no alibis. They carried their stuttering Championship form into the tie and Rovers, who knocked out Fulham in the previous round, always looked as if they could pull off another upset.
Their team spirit gave them the edge in a ragged, often scrappy tie and Southampton hardly laid a finger on them.
Unbeaten now in 14 matches, the League One side won most of the corners and were awarded most of the free-kicks as Saints picked up four yellow cards.
The conditions did nothing for the self-assurance of Saints keeper Kelvin Davis, who was suspicious of the poor playing surface.
From the start Rovers showed they had the power to hurt Southampton, but the question was whether they had the finishing in the final third to turn this into goals.
They were under instructions to try a shot whenever they could.
Early on their energetic captain Stuart Campbell sent an angled shot bouncing wide of the far post and Craig Disley was not far off as he hooked in a shot on the fall.
Southampton simply failed to get enough ball through to their front runners, although Stern John produced the best shot of the afternoon after chasing the ball out to the touchline.
Home keeper Steve Phillips pulled that one down from under the bar and went on to handle every other ball with equal confidence.