EVANSTON, Ill. -- Purdue's JaJuan Johnson had a flashback Thursday night as he went to the line with 2.2 seconds left and the game with Northwestern tied.
He recalled a similar situation against Illinois a little more than two weeks ago. That's when he missed a potential winning free throw with about two seconds to go, sending the game to overtime where the Boilermakers lost.
This time Johnson hit both -- he tried to miss the second but banked it in -- and No. 19 Purdue finished off a wild rally from 14 points behind to beat Northwestern 63-61.
"I knew I needed to make those free throws, a chance to try and redeem myself from Illinois," Johnson said.
When his second one went in, Northwestern had just enough time to get off a final shot, but Craig Moore's long heave was short.
"I was just saying, 'I hope he doesn't make it," Johnson said with a laugh. "It was a big relief."
It was a big comeback and win for the Boilermakers, who benefited from seven missed second-half free throws by Northwestern.
"No question we got some breaks in the last five minutes of the game," Purdue coach Matt Painter said.
"I thought Northwestern clearly outplayed us most of the game and we did a good job of clawing back in," he said.
Robbie Hummel scored 15 points for the Boilermakers (13-4, 2-2), who trailed by 11 with 7:45 to go. Johnson added 13 points and for Purdue and had seven of the Boilermakers' 14 blocks that helped them overcome 22 turnovers.
Moore and Kevin Coble scored 16 points each for Northwestern (8-6, 0-4), which lost its fourth straight in the Big Ten -- this one in painful fashion.
"It stings," Moore said. "None of us will sleep well tonight."
After Coble made one of two at the line to give Northwestern a one-point lead, Purdue's Chris Kramer lost the ball in the lane but teammate Keaton Grant picked it up and hit a 3-pointer to put Purdue up for the first time at 61-59 with 1:10 to go.
Coble tied it on a basket with 47 seconds to go and Northwestern was ready to take the lead back but Jeremy Nash missed a layup with 14 seconds to go.
After a mad scramble for a loose ball at the other end, the Boilermakers were able to come up with it and get a timeout with 8.6 seconds left.
Purdue got the ball to the 6-foot-10 Johnson, who was fouled by Jeff Ryan with 2.2 seconds left.
"We have a lot of confidence in JaJuan," Hummel said. "We were fighting for our lives, to be honest. ... We all knew this was a game we had to have."
The Wildcats led 34-21 at the half and Moore's 3-pointer put the Wildcats up 42-29 early in the second.
Moore stepped up and hit another 3-pointer and Northwestern led by 10 with about 10 minutes to go.
Johnson's inside basket and a followup by Hummel cut it to six with 5:45 left. Coble's bank shot in the lane gave the Wildcats a seven-point cushion before Grant sliced the lead to five.
Hummel dropped in one of two from the line with 3:52 remaining and Purdue was within four. After a block by Johnson, Hummel hit a 3-pointer to make it 57-56 Northwestern with 2:14 left.
Moore sank a free throw, but Hummel hit a followup basket to cap a 15-4 Purdue run and tie the game at 58.
Northwestern jumped out to an early 14-4 lead behind a half-court zone trap that bothered the Boilermakers and forced them into six early turnovers.
Purdue committed 12 turnovers and got off only 18 shots in the half.
The Wildcats hit 6-of-10 3-pointers in the opening half and Coble's long jumper put the Wildcats up 32-20 with just under three minutes remaining.
High school junior Zach Brown, a 7-footer from Miami, has rescinded his commitment to UConn, sources told ESPN.
Reserve center Akolda Manyang has been charged with felony aggravated assault after being accused of punching a man in the face without provocation.
ESPN college basketball reporter Andy Katz discusses the need for the Pac-12 putting in place rules on that would prohibit storming the court after a win.