ANNAPOLIS, Md. (AP) -- Keenan Reynolds completed a 4-yard touchdown pass to Matt Aiken with 2:02 to play and Nick Sloan added the point after as Navy rallied for a 31-30 win over Indiana on Saturday.
Parrish Gaines' interception with 1:38 remaining sealed the win for the Midshipmen (4-3), who beat a Big Ten opponent for the first time since 1979 when they won at Illinois 13-12.
Earlier in the game, Navy linebacker Jordan Drake's 24-yard interception return had cut the Hoosiers' lead to 17-14.
The win also kept the Midshipmen's bowl hopes alive as they need just two wins in their final five games to return to postseason play.
It was the fifth straight loss for Indiana (2-5) and came despite the fact the Hoosiers moved the ball almost at will against Navy for most of the first three quarters and gained 417 yards on 78 plays.
Indiana led 30-21 with 12:18 left. The Hoosiers had also led Navy 17-7 after opening the game with scoring drives of 67, 50 and 72 yards.
The Midshipmen led only once before the winning score when they took a 21-20 lead on Darius Staten's 17-yard run with 7:37 to play in the third period.
Indiana countered with drives of 58 and 80 yards, yielding a 30-yard field goal by Mitch Ewald and a 3-yard run by Tevin Coleman.
Reynolds, a freshman starting just his second game, led Navy on scoring drives of 74 yards on 16 plays and 72 yards on nine plays to win the game.
The first drive ended in Sloan's 18-yard field goal as the Midshipmen were held at the 1 after a drive that lasted almost 7 minutes.
Then, after Navy held the Hoosiers on downs, the Midshipmen got the ball back at their own 28 with 4:48 to play. On the winning drive, Gee Gee Greene caught a 21-yard pass from Reynolds and added a 22-yard run to move the ball to the Hoosiers' 21.
Reynolds completed 8 of 13 passes for 96 yards and also rushed for 66 yards on 17 carries. Greene had 88 yards on 15 rushes and caught two passes for 35 yards as Navy gained 353 yards, 233 in the second half.
Indiana quarterback Cameron Coffman completed 25 of 37 passes for 244 yards and the Hoosiers also rushed for 173 yards, led by Stephen Houston's 82 yards.
Shane Wynn and Kofi Hughes each had seven catches for Indiana.