Ross-Ade Stadium continues to be a house of horrors for Ohio State.
On a chilly night, the No. 2 Buckeyes were stopped cold by Purdue, suffering a 49-20 upset behind two touchdown passes by David Blough in the first half and three TD runs by D.J. Knox in the second half.
Ohio State is 13-9 at Purdue all-time and 3-5 there since 2000.
Since 2000, the Boilermakers’ five wins against Ohio State are tied with Penn State for the most by any Big Ten opponent.
OSU (7-1, 4-1 Big Ten) could not run the ball (76 yards on 25 rushes) and relied on the arm of third-year sophomore Dwayne Haskins, who was 49 for 73 for 470 yards (all school records) with two TDs and an interception.
Purdue (4-3, 2-2) has won four straight.
Blough was 25 for 43 for 378 yards. Rondale Moore had 12 catches for 170 yards and two TDs. Knox carried 16 times for 128 yards.
Purdue took the lead with 1:10 of the first quarter, marching 98 yards after a Drue Chrisman punt, when Blough threw a 13-yard TD to Isaac Zico in the right corner.
A face mask call on OSU’s Shaun Wade helped the drive along, putting the ball on the Boilermakers’ 44.
The Boilermakers kept the drive alive with a quarterback sneak for 3 yards that gave Purdue a first down at the OSU. Blough had a 13-yard completion to Moore to the OSU 23 but an offensive interference penalty pushed the ball back to the 38.
Undeterred, Blough found Knox for 26 yards to the 12. After a Markell Jones run lost a yard, the Boilermakers finished the 15-play series that consumed 7:09.
After Johnnie Dixon returned the kickoff 31 yards to the Ohio State 46, two personal fouls help set up a 24-yard field goal by Blake Haubeil at 14:14 of the second quarter. The biggest play from scrimmage was a J.K. Dobbins 11-yard rush to the 7 but on third down from the 6, Haskins was off target to Terry McLaurin. The drive was five plays, 48 yards in 1:56.
The Ohio State red zone offense bogged down late in the second quarter and a 16-play, 83-yard drive was stopped at the 15 and Haubeil missed a 33-yard field goal try with 1:51 remaining. OSU got into position thanks to a 33-yard reception.
Purdue, with three timeouts left, was aggressive and used big plays and a fake field goal to stun the Buckeyes with a late score for the 14-3 lead when Blough tossed a 9-yard pass to Moore with 27 seconds left to complete an 80-yard, eight-play drive in 1:24.
D.J. Knox got the drive going with a 19-yard run. Later, Zico had a 37-yard catch to the OSU 20. Facing a fourth-and-3 from the 13, holder Joe Schopper used the fake field to perfection and ran to the 9 one play before the TD at the end of the half.
OSU responded with 25-yard field goal by Haubeil with 12:32 in the third quarter after catches of 24 yards by Austin Mack and 15 from Parris Campbell to make it 14-6.
Knox had a 1-yard TD run with 8:36 left in the third quarter and he added a 42-yard score early in the fourth to make it 28-6.
Haskins got the Buckeyes (7-1, 4-1) to within 28-13 within with 9:36 left on a 32-yard pass to Dixon. Knox’s third TD was 40 yards with 6:53 to play to make it 35-13. Haskins tossed a 34-yard touchdown to McLaurin for a 35-20 score.
Blough threw a 43-yard TD to Moore with 3:37 remaining and Markus Bailey had a pick-six of 41 yards off Haskins with 2:08 left.