AIR FORCE ACADEMY, Colo. -- Geoff Blumenfeld picked a good time to make his first field goal of the season, nailing a 30-yarder with seven seconds left to lift Navy to a 24-21 victory over Air Force on Thursday night.

Navy (5-0) had lost six straight games to Air Force before beating the Falcons 28-25 last season to earn the Commander-in-Chief Trophy for the first time since 1981. The Midshipmen can make it consecutive service academy titles by beating Army on Dec. 4.

After losses to California and Utah, both ranked teams, Air Force (2-3) is off to its worst start since opening the 1994 season 0-3.

The matchup between two of the nation's top rushing teams was decided by a couple key passes down the stretch -- and one big kick by Blumenfeld.

Air Force, eighth in the nation with 278 yards rushing per game, managed just 182 against the Midshipmen before turning to the air.

Shaun Carney, who was replaced by Adam Fitch in the third quarter, returned to hit J.P. Waller on a 38-yard pass between two defenders and Alec Messerall on a 10-yarder to Navy's 19. Carney, who finished with 221 yards, hit Darnell Stephens for a touchdown on the next play, then ran in for the 2-point conversion to tie the game at 14.

Navy, which had 22 total yards and no first downs in the third quarter, countered with a 66-yard pass from Aaron Polanco to Marco Nelson on a third-and-2. That set up Kyle Eckel's 3-yard touchdown run on an option right.

Air Force came right back down the field behind Carney's passing, tying the game on his 12-yard pass to Waller with 2:21 left.

Navy got the ball back at its own 25-yard line and quickly moved down the field.

Polanco broke off a 32-yard run up the middle to the Air Force 29, then Eric Roberts went off left tackle for 13 more. After three runs up the middle, out trotted Blumenfeld, who had missed his first four attempts this season.

Air Force twice called a timeout just as Blumenfeld lined up to kick, but the senior didn't flinch. He split the uprights, leaped an Air Force defender and pumped his fist as he ran toward the sideline.

It had to be a relief after the way the Midshipmen started.

Polanco threw an interception on Navy's fifth play and Jason Tomlinson fumbled a punt just 3 minutes later. The Midshipmen weren't much better on defense, allowing Air Force to hold the ball for 12:56 of the first quarter.

Despite the sluggish start, Navy trailed just 6-0 after holding Air Force to Mike Greenaway's two short field goals. The Midshipmen finally got going by getting the ball to Eckel.

The fullback didn't touch the ball in the first quarter, then carried four straight times for 36 yards to start the second. Eckel bulled his way for 176 yards against the Falcons last season, so their natural reaction was to start keying on him. That opened up the rest of Navy's offense.

Air Force free safety Mark Carlson followed Eckel on a misdirection play late in the second quarter, leaving Polanco free to go up the middle for an 18-yard touchdown run. Polanco then hit Frank Divis on a 13-yard pass on fourth-and-10 from the Air Force 35, setting up his 1-yard touchdown dive.