Navy Midshipmen quarterback Keenan Reynolds (19) runs with the ball during the second quarter against the South Florida Bulls.

Tommy Gilligan USA TODAY Sports

ANNAPOLIS, Md. (AP) -- Keenan Reynolds scored twice in the fourth quarter to tie the NCAA record for career rushing touchdowns, and Navy set a school mark with three 100-yard rushers in a 29-17 victory over South Florida on Saturday.

Navy (6-1, 4-0 American Athletic Conference) never led until Reynolds bulled in from the 1 to make it 22-17 with 6:58 left. After South Florida (4-4, 2-2) fumbled the ensuing kickoff, Reynolds clinched it with another 1-yard touchdown run with 1:49 remaining.

More from FoxSports

Reynolds, a senior quarterback, has 77 career rushing TDs, tied with former Wisconsin running back Montee Ball (2009-12) for most in NCAA history.

Reynolds finished with 117 yards rushing, Dishan Romine had 115 and Chris Swain totaled 131 for Navy.

The victory made the Midshipmen bowl eligible for the 12th time in 13 years. Navy has ties to the Military Bowl but could go to more prestigious venue if it wins the AAC title game.

Rodney Adams took the opening kickoff back 97 yards for South Florida, but the Bulls scored only one other touchdown. The defeat ended their three-game winning streak.

Navy trailed 17-16 before Reynolds launched an 80-yard drive for the winning score. Reynolds carries seven times for 56 yards.

After Adams lost the handle of the following kickoff, Navy covered 42 yards to increase its lead.

South Florida went up 17-13 in the third quarter when Marlon Mack scored on a 2-yard run after a short punt and a 25-yard return by D'Ernest Johnson gave the Bulls the ball at the Navy 36.

The Midshipmen answered with a 55-yard run by Romine, but cornerback Deatrick Nichols forced a fumble on the next play and recovered the loose ball on the USF 22.

South Florida punted, and Reynolds was promptly sacked for an 8-yard loss. He rebounded to direct a 14-play drive that produced a field goal.

As the game moved into the fourth quarter, the Bulls kicked a field goal but took it off the board after Navy's Amos Mason was offside. Four plays later, Emilio Nadelman missed a 32-yard kick with 12:45 remaining to keep the score at 17-16.

By the time the Bulls got the ball back, they were in comeback mode.

Reynolds had only 27 yards rushing on eight tries in the first half but directed three scoring drives that enabled to the Midshipmen to take a 13-10 lead at the break.

After Adams opened the game with his electrifying kickoff return, the teams exchanged field goals before Swain scored on a 24-yard run to tie the score at 10.

The Midshipmen broke the deadlock late in the first half, getting a 26-yard field goal from Austin Grebe following a 17-yard punt by USF.