Army returned a Navy punt 50 yards to set them up for a 32-yard field goal that put the Black Knights up 3-0.
Keenan Reynolds took no time to respond breaking a 58-yard run to tie the Football Bowl Subdivision record with his 84th career rushing touchdown. That run gave the Mids a 7-3 lead.
Near the end of the first quarter Army responded with a 29-yard touchdown run by Tyler Campbell that put the Black Knights up 10-7.
Reynolds broke another long run and punched it in two plays later taking possession of the FBS record while giving Navy a 14-10 lead
Army quarterback Chris Carter then found Edgar Poe for a 39-yard touchdown pass to give the Black Knights a three-point lead before the end of the half.
Ten minutes into the third quarter Reynolds connected with Jamir Tillman for a 50-yard touchdown pass to put Navy up 21-17, a lead they would not relinquish.
Navy would intercept Army twice in the final three and a half minutes of the game. One by Lorentez Barbour and one by Daiquan Thomasson.
The Midshipmen ran most of the clock out and an Army hail mary fell incomplete in the end zone to secure the Navy victory.
Reynolds became the first player in Navy history to rush and pass for 1,000 yards in two different seasons.
The Midshipmen move to 10-2 on the season and will stay home for the Military Bowl against the 8-4 Pittsburgh Panthers on Monday, December 28th at 2:30 PM Eastern Time.