San Jose State slowed Navy's rushing offense, and Brandon Rutley took care of the rest.
Rutley rushed for 132 yards and two touchdowns and caught a career-high eight passes for another 101 yards, lifting San Jose State to a 27-24 victory over Navy on Saturday.
Matt Faulkner passed for 345 yards and the go-ahead touchdown on career highs of 33 completions and 44 attempts as the Spartans (4-7) ended a three-game losing streak. Ryan Otten also caught eight passes for 101 yards.
''The best way I can say it is that we played extremely hard and, this time, made the plays to finish,'' San Jose State coach Mike MacIntyre said. ''It was an exciting day for us to be able to run the football.''
Navy (4-7) lost its streak of eight straight years in a bowl game. Kriss Proctor rushed for 82 yards and a pair of touchdowns, and threw for 90 yards.
''Their defense played hard,'' Proctor said. ''There was a lot of bad execution on our part.''
Navy scored on its first two possessions of the second half to take a 24-20 lead. Jon Teague kicked a 24-yard field goal midway through the third quarter and Proctor scored on a 2-yard run late in the period.
The go-ahead score was set up by a turnover. Jabaree Tuani tackled Faulkner, forcing a fumble. Jared Marks was right there to recover on the Spartans 43. Six plays later, the Midshipmen were in front.
Aaron Santiago's 21-yard run on a third-down play and Casey Bolena's 12-yard gain on a reverse were the key moments of the drive.
The Spartans responded just four seconds into the fourth quarter when Faulkner found freshman Jabari Carr for a 13-yard touchdown pass.
Rutley scored on runs of 3 and 1 yards.
Proctor was 9-of-20 passing, both second only to his 14-of-24 performance against Air Force.
The Midshipmen, who entered the game second in the nation in rushing offense, was limited to 254 yards on the ground, their third lowest total of the season.
San Jose State's Jens Alvernik connected on a pair of field goals to match the school's single-season record of 16.
Santiago also scored for Navy, which trailed 20-14 at the half.