ANNAPOLIS, Maryland — Good teams don't miss two field goals, fumble away kickoffs or allow the opposition to run for 428 yards.
After holding the lead for three quarters on Saturday, South Florida came apart in the final 15 minutes and had its three-game winning streak end with a 29-17 defeat.
"Navy beat us in every phase," Bulls coach Willie Taggart said. "We made some mistakes that we can't make against a winning and mature football team like Navy."
Rodney Adams took the opening kickoff back 97 yards, but South Florida scored only one more touchdown.
Still, the Bulls held a 17-16 lead as the game moved into the fourth quarter. With around 13 minutes left, 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 (4-4, 2-2 American Athletic Conference) got the ball back, they were in comeback mode.
Navy (6-1, 4-0) never led until Keenan Reynolds bulled in from the 1 to make it 22-17 with 6:58 left. After Adams fumbled the ensuing kickoff, Reynolds clinched it with another 1-yard touchdown run with 1:49 remaining.
That gave Reynolds, a senior quarterback, 77 career rushing TDs — tied with former Wisconsin running back Montee Ball (2009-12) for most in NCAA history.
"It's just a number," Reynolds said. "At the end of the day, it was just about getting ahead and putting the game out of reach. We were able to execute that play. It's a big deal, obviously. I am very blessed and fortunate. But I always deflect the attention to my teammates because it's 11 guys out there working."
Reynolds finished with 117 yards rushing, Dishan Romine had 115 and Chris Swain totaled 131 for the Midshipmen. It was the first time in school history that Navy had three players run for 100 yards in a single game.
South Florida did well enough against Navy's triple-option for a half, but the Midshipmen finished with 428 yards on the ground.
"I thought we played hard, but it's just that they're a different team," linebacker Auggie Sanchez said. "You can't practice for that."
Navy trailed 17-16 before Reynolds launched an 80-yard drive for the winning score, carrying seven times for 56 yards.
After Adams lost the handle returning the 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 to get Navy to 17-16, launching the comeback.
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.