Bradford had the ball in the net after 37 minutes when keeper Richard O’Donnell failed to hold Paul Taylor’s fiercely-driven free-kick from outside the box. Defender Matt Kilgallon turned the loose ball into the net, but was ruled offside.
Northampton took advantage of this let-off six minutes later when John-Joe O’Toole broke free to score with a close-range header from Matt Grimes’ corner to give the visitors a 1-0 half-time lead.
Northampton, who remain in the relegation zone on goal difference, went further ahead in the 62nd minute when Chris Long benefited from hesitancy in the home defence to score with a shot just inside the near post.
The home side pulled a goal back in stoppage time, a superb 25-yard shot from Taylor following a quickly-taken free-kick, but it was not enough to prevent the Cobblers from picking up a deserved win.
Pedro stepped off the bench to send Chelsea into the FA Cup semi-finals after they beat Leicester 2-1 at the King Power Stadium on Sunday evening.
RB Leipzig came from behind at the Red Bull Arena to end a run of four winless games and defeat Bundesliga leaders Bayern Munich 2-1 on Sunday.