Langford ran for 109 yards on 23 carries and had four touchdowns – three rushing and one receiving to lead the Spartans.
Michigan State put up its highest single-game rushing total against an FBS team as Delton Williams chipped in with 92 on 12 carries.
Connor Cook had his second straight game with more than 200 yards as he was 22 of 31 passing for 235 yards and two touchdowns.
Indiana broke out early with a 64-yard touchdown run by Tevin Coleman just 1:01 into the game.
Michigan State tied the game on a drive that spanned the end of the first quarter and the start of the second. Jeremy Langford finished the drive when he took a screen pass in from 11 yards out to knot it 7-7 with 13:34 before halftime.
Bennie Fowler put MSU ahead when he took a short pass from Cook on third-and-6 and broke a pair of tackles for a 34-yard touchdown with 7:13 left in the second quarter.
The Spartans forced a punt on the ensuing Hoosier drive, but MacGarrett Kings fumbled the punt and IU recovered at the MSU 42.
MSU engineered a 14-play, 75-yard drive to retake the lead before half. Langford finished the 3:59 drive with a 5-yard touchdown run to put the Spartans up 21-14 with :37 in the half.
Tight end Josiah Price hauled in a 39-yard third-down pass shortly after the half and Langford ran for his second touchdown (third overall) for a 2-yard score and a 28-14 MSU lead.
Indiana responded quickly and took advantage of two MSU penalties to drive downfield and bring it to 28-21 with a 2-yard touchdown run by Shane Wynn with 7:47 to go in the third.
Langford again found the end zone for his fourth touchdown with 3:23 to go in the third. The junior scampered in from 32 yards out to give MSU a 35-21 lead.
A pair of freshman led to another touchdown MSU as Williams broke down the sideline for 37 yards to the Indiana 36. After a 2-yard run by Williams, R.J. Shelton took a jet sweep in from 34 yards to put MSU up 42-21.
Indiana scored with 2:17 to go on a 4-yard pass from Roberson to tight end Ted Bolser as the Hoosiers made it 42-28.