COLUMBUS, Ohio -- Michigan State controlled the line on both sides of the ball and put itself in position for the 41-yard field goal by Michael Geiger as time expired as the ninth-ranked Spartans upset No. 3 Ohio State 17-14 to end the Buckeyes' 23-game winning streak on Saturday in rainy Ohio Stadium.
Michigan State won despite quarterback Connor Cook, 32-4 as a starter, not playing because of a shoulder injury sustained in the first half of the previous game against Maryland. He was replaced by the tandem of junior Tyler O'Connor and sophomore Damion Terry.
O'Connor found out Friday night that he would be the starter. He engineered most of the drives as the Spartans (10-1, 6-1 Big Ten) rushed for 203 of their 294 total yards.
"I was going to manage the game," O'Connor said. "From the very beginning, we were going to give the ball to the running backs and let the offensive line dominate."
The Buckeyes (10-1, 6-1) saw their 30-game conference regular-season win streak end and were held to 132 yards, 86 of it on the ground, and only five first downs.
"We lost the line of scrimmage," Ohio State coach Urban Meyer said. "And obviously you start loading up the box in those kind of situations and ... the passing game was just, it was not there."
Ohio State running back Ezekiel Elliott had 33 yards on 12 carries to snap his streak of 15 games with 100-plus rushing yards or more.
Afterward, he ripped his coaches.
"I'm disappointed in the play calling," he said. "I'm disappointed in the situations we were put in and I wish it all played at differently."
He also revealed that he was hospitalized Monday through Wednesday with an infection in his left shin while battling a 103-degree fever.
"I was 100 percent today," he said.
But he wanted the ball more.
"I was lobbying all game," he said. "I deserve more than (12) carries. I can't speak for the play calling. I don't know what was going on or what they were seeing. It didn't work out. It wasn't working."
Elliott, a junior said it was his last game in Ohio Stadium and that he will turn pro after the season.
It was not the way he wanted to go out.
The Spartans started the winning drive at the Ohio State 48-yard line with 4:07 left after a punt. Geiger, who missed a 43-yarder in the second quarter, had kicked the ball through the uprights just after an Ohio State timeout.
In essence, it gave him a practice kick.
"The first one I kicked it through," he said. "After that, I knew I was going to make it."
The game was one of comebacks for the Spartans.
Michigan State went 75 yards to tie the score at 14 with 12:03 left in the fourth quarter when running back Gerald Holmes ran in from 2 yards. All 13 plays on the drive were runs.
The second costly turnover by Michigan State helped Ohio State take 14-7 lead with 3:33 left in the third quarter.
Wide receiver MacGarrett Kings fumbled a punt that Ohio State's Terry McLaurin recovered at the Michigan State 6-yard line and quarterback J.T. Barrett immediately hit wide receiver Jalin Marshall across the middle for the score.
O'Connor committed the first turnover that led to Ohio State taking a 7-0 lead with l2:15 left in the second quarter. He was sacked by defensive end Sam Hubbard and defensive tackle Adolphus Washington recovered the fumble at the Michigan State 32.
It took Ohio State 10 plays to reach the end zone on a 1-yard burst up the middle by Elliott.
O'Connor was steady when the Spartans got the ball back. Faced with a third-and-14 from the Michigan State 36, he connected down the left sideline with wide receiver Aaron Burbridge for 36 yards.
O'Connor then hit fullback Trevon Pendleton on a wheel route for 12 yards to tie the score at 7 with 7:57 left until halftime.
"I think this was the first game this season we could take on the role of underdog," Michigan State coach Mark Dantonio said. "We came in with something to prove. Usually, when you have that, you have a chip on your shoulder and play better."
NOTES: Ohio State leads the series 29-15. ... Michigan State has beaten the Buckeyes 10 times when Ohio State entered as a ranked team. ... Michigan State coach Mark Dantonio was an assistant at Ohio State under Jim Tressel (2001-03), winning the BCS national championship in 2002. ... Ohio State honored 18 seniors before the game. Five are fifth-year seniors, including WR Braxton Miller.