WEST POINT, N.Y. -- Army coach Rich Ellerson needed one more stop from his defense.
He got it.
Patrick Mealy ran 16 times for 136 yards and a touchdown to lead Army to a 22-17 victory over Virginia Military Institute on Saturday.
Alejandro Villanueva caught seven passes for 119 yards and a TD in front of 32,109 at Michie Stadium.
Army lost four of its five fumbles, including one when Trent Steelman mishandled a snap on the VMI 27 with 2:47 remaining and the Black Knights clinging to the 22-17 lead. The Keydets drove to the Army 34 with 20 seconds left, but couldn't get any closer.
VMI turned the ball over on downs and Steelman kneeled out the final seconds of the game.
"To our credit, and it is credit, we made one more play, but there is so much to be learned," Ellerson said. "If you ever allow yourself to think it's not going to be hard, this game will wake you up in a hard way."
Army allowed 328 yards rushing against a Football Championship Subdivision team it throttled 62-7 three years ago.
"VMI had some fight in them -- I really respected that, and they got after it," defensive tackle Mike Gann said.
The Black Knights (4-6) ended a three-game skid and reached four wins in a season for the first time since they went 4-7 in 2005.
Howard Abegesah led VMI (2-8) with 24 carries for 111 yards and a score. The Keydets entered with the second-ranked rushing offense in the former Division I-AA.
"They made the plays they had to in order to win the game," VMI coach Sparky Woods said. "I'm really disappointed for our football team. ... We missed tackles, they broke tackles. We turned the ball over, and we didn't make enough plays. ... If we want to win, we have to play better."
Steelman went 11-for-14 passing for 174 yards and a touchdown for Army.
The Keydets came back from a 10-0 halftime deficit to take a 17-16 lead when Abegesah broke through for a 44-yard touchdown run on the first play of the fourth quarter.
But Army went in front again on Mealy's 17-yard TD run with 8:58 remaining -- Steelman's run on the conversion attempt came up short. Mealy's score came one play after Villanueva caught a 22-yard pass from Steelman that officials originally ruled out of bounds before a review determined Villanueva kept a foot inbounds.
"Trent had some pressure, but he managed to get out of those blocks -- he's really quick," Villanueva said. "He threw the ball, I saw it, and I tried to do my best to stay inbounds and make a play."
VMI had just scored its first touchdown -- cutting Army's lead to 10-7 -- when Damion Hunter returned the ensuing kickoff 12 yards before losing the ball on a hit. Julian Bowers pounced on it at the Army 27. The Keydets turned that turnover into a 28-yard field goal by Jeff Sexton, tying it with 9:07 left in the third.
Alex Carlton kicked field goals of 41 and 37 yards to give Army a 16-10 advantage before Abegesah's scoring run.