Sunderland's Daryl Murphy tackles Northampton's Abdul Osman
Sunderland survived a major scare before beating Northampton on penalties to reach the Carling Cup fourth round.
Colin Larkin's low finish put the Cobblers ahead after 20 minutes and Luke Guttridge slid in a second for the League One side with nine minutes left.
Sunderland sub Anthony Stokes then forced extra time with two late goals.
Stokes and Northampton's Mark Hughes missed in the shoot-out before Marton Fulop saved from Leon Constantine to put Sunderland through.
It was tough on Northampton, who looked well on course for victory until Stokes' dramatic intervention.
He scrambled home after 86 minutes then headed in Andy Reid's corner via the crossbar three minutes into injury time.
Michael Chopra scored Sunderland's first penalty, but Northampton's Mark Hughes missed with their opening attempt.
It was probably one of the worst nights I have ever had in my football career
Sunderland boss Roy Keane
Daryl Murphy and Adebayo Akinfenwa both scored before Stokes clipped the bar to give Northampton renewed hope.
Andy Holt and Abdul Osman scored for Northampton, with Andy Reid hitting the target for Sunderland in between.
Kieran Richardson's successful spot-kick put the pressure on Constantine, and Fulop produced a superb save to break Northampton's hearts.
Sunderland manager Roy Keane:
"It was probably one of the worst and longest nights I have ever had in my football career. It was a shambles.
"I hope the team is a reflection of myself, but the players automatically think they are going to win a game of football.
"From the start, it was walking pace, nobody sprinting, the passing was awful, nobody was prepared to run off the ball, supporters booing everybody, abusing me towards the end."
Bookmark with:
What are these?