Carlos Hyde scored three second-half touchdowns, including a 7-yard go-ahead scamper, and No. 4 Ohio State claimed a 40-30 Big Ten victory over No. 16 Northwestern on Saturday night.
The Buckeyes (6-0, 2-0) rallied from a 23-17 deficit in the second half in a battle of Big Ten unbeatens before a sellout crowd of 47,130 at Ryan Field.
Defensive end Joey Bosa scooped up a Northwestern fumble in the end zone for a touchdown as time expired.
The victory was the Ohio State's 18th straight over two seasons. Northwestern (4-1, 0-1) had hoped to beat a top-five team for the first time since 1959.
Wildcats kicker Jeff Budzien kicked three straight field goals to open a 23-13 lead in the third quarter.
But the Buckeyes cut the deficit to 23-20 with Hyde's 4-yard touchdown run and Drew Basil's extra point kick with 3:54 left in the quarter.
Junior cornerback Doran Grant set up a go-ahead score with 12:36 to play when he intercepted Wildcats quarterback Trevor Siemian and returned the ball to the Northwestern 16.
Four plays later, Hyde's 2-yard rush to the goal line was ruled a touchdown after a review as Ohio State moved out to a 27-23 lead.
Northwestern replied as Siemian and Rashad Lawrence combined on a 67-yard pass play to the Ohio State 7. One touchdown run was called back on a holding call, but a scrambling Siemian found Cameron Dickerson for a 12-yard TD strike and a 30-27 Wildcats lead.
Hyde, who rushed for a game-high 168 yards on 26 carries, then capped an eight-play, 81-yard Buckeye drive with his 7-yard touchdown run with 5:22 left.
Ohio State quarterback Braxton Miller was 15-of-26 passing for 203 yards and an interception. Siemian was 13 of 18 for 245 yards and two touchdowns.
The Buckeyes seemed bound for a quick strike in their opening possession, moving from their own 20 to inside the Wildcats 10 in the first 2:29 before stalling and settling for a 27-yard Basil field goal.
Northwestern punted on its first possession but got the ball back minutes later when defensive end Tyler Scott forced Miller to fumble and scooped up the ball at the Ohio State 23.
Five plays later, Siemian found Kain Colter, his signal-calling partner, open at the back of the end zone with a 9-yard touchdown strike for a 7-3 lead.
Later in the quarter, Ohio State freshman punter Cameron Johnston pinned Northwestern at its own 1, leading to the Buckeyes' opening touchdown.
Mired at the 9, Wildcats punter Brandon Williams' punt from the end zone was blocked by Dontre Wilson and Bradley Roby recovered for a touchdown and a 10-7 lead.
Northwestern replied early in the second quarter when Colter capped a 10-yard, 75-play drive with 2-yard touchdown run for a 14-10 advantage.
Basil kicked a 20-yard field goal, leaving the Buckeyes trailing 14-13 with 8:36 left in the half.
Siemian and Venric Mark then combined on a 41-yard pass play that set up the Wildcats at the Buckeyes' 12. But Northwestern got no closer than the 7 and Budzien's 27-yard field goal opened a 17-13 lead.
Ohio State's Johnston ran on a fourth down fake punt with 3:30 left in the half, giving Northwestern excellent field position at the Buckeyes 30. Ohio State again stopped Northwestern, leaving Budzien to kick a 29-yard field goal for a 20-13 lead with 56 seconds left.
NOTES: The Buckeyes were the highest-ranked team to visit Ryan Field since 2006 when top-ranked Ohio State played in Evanston. ... Miller came in as Big Ten offensive player of the week after completing 17 of 25 passes for 198 yards and four touchdowns in the Buckeyes' 31-24 victory last week over Wisconsin. Johnston landed special team honors after six punts landed inside the 20-yard line. ... Ohio State coach Urban Meyer last faced Northwestern in 2001 as he guided Bowling Green to a 43-42 victory in Evanston. ... The Wildcats were tied for first nationally with 2.5 interceptions per game and had scored 59 points off 11 forced turnovers. ... The Wildcats travel to Wisconsin next Saturday. Ohio State hosts Iowa in two weeks.