Peter Crouch's 13th goal of the season and a late clincher from Niko Krancjar saw FA Cup holders Portsmouth to dispose of Bristol City and book a place in the fourth round.
The replay win, which followed a 0-0 draw at Fratton Park, also lifted some of the pressure off manager Tony Adams following a string of disappointing results and the sales of Jermain Defoe and Lassa Diarra.
Pompey will now entertain Swansea in the next round but know that Crouch's 38th-minute strike was also a controversial one as the England man could have been penalised for handball in his own box just seconds before.
Krancjar wrapped up victory with a tap-in with two minutes remaining after City were caught on the counter-attack again, and the home side were denied even a consolation goal when David James kept out Nicky Maynard's stoppage-time penalty.
Armand Traore blasted the first shot of the game in the sixth minute and City goalkeeper Adriano Basso had to leap to make a spectacular tip-over.
That was the only highlight for a while as both sides struggled to make creative use of possession but the lead was almost City's in the 24th minute.
That saw midfielder Marvin Elliott connect with a diving header but England goalkeeper James reacted smartly to make an impressive one-handed save.
The game became more of a spectacle after that and Maynard almost gave the Championship side a memorable opener with a 30-yard effort that beat James but also just cleared the crossbar.
Pompey replied immediately with a move that saw David Nugent wastefully hit a post from six yards after Crouch had set him up and it was not long before Traore saw a drive deflected behind for a corner.
City had to soak up the pressure but cleared their lines and won a free-kick in a promising position when Glen Johnson launched a wild challenge on Cole Skuse and was booked.
A corner followed and the ball appeared to hit Crouch on a shoulder and then the other arm in the Portsmouth area as he tried to clear, although there was little in the way of a frenzied appeal by the home players.
Referee Michael Jones allowed play to continue and Nadir Belhadj's superb cross-field ball from the left put Traore away down the other flank.
The Frenchman, who is on loan for the season from Arsenal, got the better of City left-back Liam Fontaine, and set up Crouch, who had run the length of the pitch, in front of goal for a smart finish before any defender could intervene.