WEST POINT, N.Y. (AP) - Darnell Woolfolk scored on a pair of 1-yard runs in the fourth quarter to lead Army past Buffalo 21-17 on Saturday.
The victory for Army (2-0) avenged an overtime loss to the Bulls a year ago and extended the Black Knights' winning streak to five dating to last season.
Woolfolk's game-winner came on fourth down with 4:53 left after Kell Walker was ruled out-of-bounds before reaching past the right pylon on the previous play.
Army forced a fumble by Buffalo quarterback Tyree Jackson midway through the third quarter with the Bulls (0-2) driving, and that helped turn the tide for the Black Knights as they converted to get back in the game.
Woolfolk's plunge from inside the 1 narrowed the Buffalo lead to 17-14 on the first play of the fourth quarter.
Ahmad Bradshaw finished with 147 yards rushing on 25 carries and scored once for Army.
Jackson scored on a 75-yard run and hit Antonio Nunn with a 48-yard touchdown pass to lead Buffalo. Jackson was unable to muster another comeback on the Bulls' final possession. He was sacked for a 14-yard loss on first down and the Bulls punted after three plays. He finished 9 of 16 for 193 yards passing.
Army sealed the victory moments later with a 15-yard run by punter Nick Schrage on a fake punt.
Buffalo coach Lance Leipold won six Division III national titles at Wisconsin-Whitewater and brought a .921 winning percentage as a head coach when he accepted the Buffalo job prior to the 2015 season. The Bulls went 5-7 in his first season but plummeted to 2-10 last year. But one of those victories was a come-from-behind overtime triumph at home against the Black Knights, Jackson's first career win as the Bulls starter at quarterback.
The Bulls scored two touchdowns in the final nine minutes of the fourth quarter in that one to force overtime as the 6-foot-7, 245-pound Jackson scored twice on the ground. He didn't wait that long on Saturday, busting the long scoring run early in the second quarter. He picked his way through the line and raced untouched down the right side before stumbling into the end zone to put the Bulls up 10-7.
Jackson followed that by hitting Antonio Nunn for a 48-yard touchdown after Bradshaw misfired on a fourth-down pass to give Buffalo a 17-7 halftime lead.
Jackson hit Anthony Johnson with a perfectly thrown 52-yard pass on the game's first drive, but the Bulls had to settle for Adam Mitcheson's 21-yard field goal.
The Black Knights victimized the Bulls on Army's first possession. Bradshaw, who gained a career-high 177 yards against last week in a win over Fordham, gained 52 yards down the left side on Army's fourth play from scrimmage and scored from inside the 1 three plays later.
The Bulls returned eight starters on defense and that figured to help a unit that allowed a 100-yard rusher in seven of 12 games last year and ranked 124th out of 128 teams at the FBS level with an average of 253.3 rushing yards allowed per game.
That experience showed in a 17-7 season-opening loss on the road last week to Minnesota. Buffalo allowed 169 yards on 51 carries and the Bulls held their own against Army. Take away Bradshaw's 52-yard run in the first quarter that set up Army's lone touchdown, and Buffalo held the triple option to 114 yards on 32 carries in the first half, an average of 3.5 yards a carry. Army finished with 322 yards on the ground a week after gaining 513 against Fordham.
Buffalo: Jackson is emerging as a star, and with his size the Bulls can be competitive in the Mid-American Conference.
Army: The Black Knights have the run down pat but need to show some finesse in the passing game. Bradshaw overthrew a wide-open Jermaine Adams inside the 10-yard line on a fourth-and-2 play and also overthrew Kjetil Cline in the end zone. Both came in the second quarter and cost the Black Knights two scores. Bradshaw finished 2 of 8 for 17 yards.
Buffalo hosts Colgate next Saturday night.
Army travels to play No. 2 Ohio State on Saturday.