Match ends, Queens Park Rangers 0(1), Sunderland 0(3).
League One Sunderland beat Championship side QPR on penalties to reach the Carabao Cup quarter-finals.
The Black Cats scored their three penalties, with Charlie Austin, Ilias Chair and Yoann Barbet missing for QPR.
QPR thought they had won it during normal time but Austin's header from Albert Adomah's deflected shot was controversially ruled out for offside.
Aiden McGeady went close late in injury time but he was denied by a good Seny Dieng save as it went to spot-kicks.
The quarter-final draw is on Saturday at 10:30 BST.
Both sides are among the top scorers in the English Football League this season but did not name their strongest sides. QPR made six changes and Sunderland made seven from the weekend.
They each had chances to win. Sunderland keeper Lee Burge kept out Barbet's half-volley and Lyndon Dykes' shot after he latched on to a misplaced pass in midfield.
QPR went even closer when Austin headed into an empty net but it was disallowed - despite Dennis Cirkin appearing to keep the ex-Southampton striker and Adomah onside.
Carl Winchester had two decent chances for Sunderland before McGeady went so close in the final minute.
But McGeady would not need to regret it too much, scoring the first Black Cats penalty to set them up to win.
Sunderland manager Lee Johnson: "Bar a 20-minute spell we were worth a draw and then the victory. In the second half I thought we were the better side.
"The boys are battered and bruised but that's the tempo. If you want to compete at Championship level, which we want to do, this is a really good learning game.
"I'd love Arsenal or Tottenham away [in the next round] and then wait for the really big guns when it's two legs."
QPR boss Mark Warburton on Austin's disallowed goal: "It's staggering to be that wrong on a major decision in a game of that importance.
"Having just seen the picture I've just seen - wow! It's an appalling decision which has cost the club in all sorts of ways.
"We're not talking about an inch or a marginal decision. It's feet, between Charlie being onside and offside.
"With what's at stake, the financial implications for the club, big crowds home and away, everything which comes with progression to the last eight, I've never been so shocked to see a picture like that.
"To be that far onside, you have to question what did they see? I hope this doesn't get me too much of a fine."
- 5de WijsBooked at 15mins
- 2KakaySubstituted forAdomahat 72'minutes
- 8AmosSubstituted forDuke-McKennaat 84'minutes
- 21WillockSubstituted forDozzellat 73'minutes
- 19GraySubstituted forAustinat 62'minutes
- 5AlvesSubstituted forDoyleat 69'minutes
- 33HumeSubstituted forCirkinat 24'minutes
- 4EvansSubstituted forO'Brienat 65'minutes
- 11GoochBooked at 39minsSubstituted forMcGeadyat 65'minutes
- 13O'NienBooked at 17mins
- 7DajakuSubstituted forPritchardat 69'minutes
- 14StewartBooked at 90mins
- Keith Stroud
- Shots on Target
Penalty Shootout ends, Queens Park Rangers 0(1), Sunderland 0(3).
Penalty missed! Bad penalty by Yoann Barbet (Queens Park Rangers) left footed shot is too high. Yoann Barbet should be disappointed.
Goal! Queens Park Rangers 0(1), Sunderland 0(3). Alex Pritchard (Sunderland) converts the penalty with a right footed shot to the centre of the goal.
Goal! Queens Park Rangers 0(1), Sunderland 0(2). Lyndon Dykes (Queens Park Rangers) converts the penalty with a right footed shot to the bottom left corner.
Goal! Queens Park Rangers 0, Sunderland 0(2). Ross Stewart (Sunderland) converts the penalty with a right footed shot to the bottom right corner.
Penalty missed! Bad penalty by Ilias Chair (Queens Park Rangers) right footed shot is just a bit too high. Ilias Chair should be disappointed.
Goal! Queens Park Rangers 0, Sunderland 0(1). Aiden McGeady (Sunderland) converts the penalty with a right footed shot to the bottom right corner.
Penalty saved! Charlie Austin (Queens Park Rangers) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.
Penalty Shootout begins Queens Park Rangers 0, Sunderland 0.
Second Half ends, Queens Park Rangers 0, Sunderland 0.
Corner, Queens Park Rangers. Conceded by Ross Stewart.
Attempt blocked. Ilias Chair (Queens Park Rangers) right footed shot from the left side of the box is blocked. Assisted by Charlie Austin.
Corner, Queens Park Rangers. Conceded by Bailey Wright.
Ross Stewart (Sunderland) is shown the yellow card for a bad foul.
Albert Adomah (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Ross Stewart (Sunderland).
Attempt saved. Aiden McGeady (Sunderland) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Ross Stewart.
Andre Dozzell (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Alex Pritchard (Sunderland).