WEST LAFAYETTE, Ind. -- D.J. Knox rushed for 128 yards and three touchdowns, David Blough threw for three more scores and Purdue shook up the College Football Playoff chase with a 49-20 blowout of No. 2 Ohio State on Saturday night.

The Boilermakers (4-3, 3-1 Big Ten) won their fourth straight, their second in a row over a ranked team and pulled off their biggest upset since taking down then-No. 2 Ohio State 28-23 on Oct. 6, 1984. Purdue set a school record for points scored against the Buckeyes, besting the mark of 41 in 1967.

Mistake-prone Ohio State (7-1, 4-1) had its 12-game winning streak snapped, fell out of the Big Ten East lead behind rival Michigan and must fight away its way back into playoff position.

Blough outplayed Heisman Trophy candidate Dwayne Haskins Jr. on a night the Buckeyes didn't reach the end zone until early in the fourth quarter.

Blough went 25 of 43 with 378 yards and sealed the victory with a 43-yard pass to Rondale Moore with 3:37 to play. It was Blough's third straight 300-yard game and his fourth this season.

Haskins wound up 49 of 73, shattering the school records in both categories, and had 470 yards and two touchdowns and an interception. But he missed receivers down the field on a windy night and was nearly picked off a couple of times before Markus Bailey scored on a late 41-yard interception return. The Buckeyes were called for 10 penalties and faced their largest halftime deficit of the season, 14-3, before giving up four scoring plays of more than 40 yards in the fourth quarter.