PHILADELPHIA - Quarterback Malcolm Perry scampered for a career-high 304 yards and two touchdowns as Navy snapped its three-game losing streak against Army with a dominating 31-7 win.
Perry, a senior, set all-time single-season rushing and total offense marks for the Midshipmen as his team took back the Commander-in-Chiefs trophy in front of a crowd of 68,075 at Lincoln Financial Field. His ground total Saturday was the most ever in the historic rivalry with Army, and pushed him past 1,800 rushing yards for the year.
Perry said beating Army was his top goal coming into this season.
"I wanted to have a great regular season and accomplish things, but for me personally, this was the biggest game I have ever played in my life," Perry said. "We didn't win the last three games, but that makes this win even more sweet and I am happy we got the win."
No. 23 Navy improved to 10-2, and will face Kansas State in the Liberty Bowl on Dec. 31. The Midshipmen now own a 61-52-7 series edge over Army.
Navy head coach Ken Niumatalolo, who is now the winningest coach of the Army-Navy series, said Perry was "unbelievable."
"Here is a guy who rushed for 1,000 yards in three straight years and you would think he's a walk-on the way he carries himself. But that's our team," Niumatalolo said. "Of all the things, I'm just proud that our team chooses the right way."
Fullback Jamale Carothers, who saw no touches the first month of the season but has emerged as one of Navy's top offensive weapons, added rushing and receiving touchdowns to key the win.
Army (5-8) lost for the seventh time in its past nine games, faltering behind an offense that completely stalled after an impressive first-quarter drive.
Army head coach Jeff Monken said Perry "ran through us today."
"I am really disappointed in today's loss. I am disappointed in this season," Monken said.
In a surprise move, the Black Knights gave junior Christian Anderson his first start of the season at quarterback, and Army saw the end zone first when Anderson scored on a five-yard rushing touchdown on their second possession of the game. The drive totaled 78 yards on 18 plays, and chewed up nearly 11 minutes of clock.
But Army's offense struggled to gain traction the rest of the way.
"I think we started to realize that something was not going right," said Navy linebacker Nizaire Cromartie. "Once we got to the sideline after that first score, that was the reality check that we couldn't let them do that anymore."
From that point on, it was Perry's show. Navy responded with a 55-yard touchdown run by Perry, his 20th rushing touchdown of the season. The long carry moved him past Will Worth for the most total offense in a season by a Navy player.
Two drives later, Perry used a nifty juke up the sideline for a 44-yard run that moved him past Napoleon McCallum for the most rushing yards all-time in a season for Navy.
That series was capped with a touchdown pass on a wide receiver reverse, with sophomore Chance Warren tossing a one-yard pass to Carothers.
"It was [designed] off the Philly Special. Kind of appropriate to run it here," Niumtalolo said. "But we renamed it the Navy Special."
Navy carried a 14-7 lead into halftime, and appeared poised to score again on the opening drive of the second half until senior defensive back Elijah Perry blocked a field goal.
With a chance to reverse Navy's momentum, Army was again unable to move the ball. Navy responded with a 5-yard rushing touchdown by Carothers, who finished with 75 yards on the ground.
Kicker Bijan Nichols added a 37-yard field goal at the top of the fourth quarter, and Perry rushed for his second touchdown with about two minutes left in the game.
Army had just 59 yards after the first quarter.
Army's senior quarterback and captain Kelvin Hopkins Sr., who has battled injuries, was seen during pregame warmups but did not play until the game was out of hand late in the fourth quarter. That drive ended when Army running back Connor Slomka fumbled.
Monken revealed after the game that Hopkins was dealing with a pulled hamstring, and said he believed Anderson gave the team a better chance to win.
Monken said he's already begun the evaluation process for next year.
"Unfortunately, there are just some things that you can't fix right away and sometimes it takes the offseason to get those things corrected and fixed," he said.
President Donald Trump, in the midst of ongoing impeachment proceedings set for a House floor vote next week, appeared on the field for the pregame coin toss wearing a red "Keep America Great" hat.
Before that, he addressed both locker rooms, touting a reform that allows athletes to delay their active-duty service to play professional sports, according to the White House pool report.
"The last time I saw your coach, he said, 'What about a waiver?' I said, 'What are you talking about a waiver?'" Trump said to Army players, with similar remarks also made to the Navy locker room. "He said some of these guys could play in the NFL, you could play for the Yankees, you could play for the Mets, you could play basketball, you could play whatever. But you have to serve a long time. and what we are doing now is you'll go out and make a fortune and after you are all finished with your professional career you will go and you will serve. And everybody is thrilled."
Trump had said he was considering such a change earlier this year, when Army attended a Rose Garden ceremony to receive the Commander-in-Chief's trophy.
Defense Secretary Mark Esper, who also took the field with Trump, signed a memo on the issue last month. It says athletes must get approval from the defense secretary, and requires them to eventually fulfill their military obligation or repay the costs of their education.