Michael Lyons scored 27 points and Air Force beat No. 13 San Diego State 58-56 on Saturday when Xavier Thames' off-balance 3-pointer fell short at the buzzer.
The Falcons (13-11, 3-7 Mountain West) won for just the second time in 76 games against a Top 25 team. The only other time they beat a ranked team was Feb. 15, 1992, No. 22 UTEP. They had been 0-64 against top-20 teams.
Air Force, which snapped an eight-game skid against the Aztecs, has won two of three games under interim coach Dave Pilipovich, who replaced the fired Jeff Reynolds on Feb. 8.
The short-handed Aztecs (20-6, 6-4) lost their third straight, something they hadn't done since 2008, a span of 124 games. The Aztecs fell two games behind conference leader New Mexico, which beat No. 11 UNLV 65-45 earlier Saturday.
The Aztecs got 17 points from Chase Tapley and 13 points and 11 rebounds from Tim Shelton, but they sorely missed Jamaal Franklin, their leading scorer (16.0) and rebounder (7.4), who sprained his left ankle in the closing minutes of a loss to New Mexico on Wednesday night and sat out Saturday's game.
The Aztecs lost another starter when 6-foot-11 forward Garrett Green turned his right ankle 8 minutes into the second half. He took a seat after scoring five points and pulling down 10 rebounds.
During one stretch in the second half, the Aztecs missed 13 straight shots and went 11½ minutes without a field goal, allowing the Falcons to hang around for a shot at the upset.
With Air Force clinging to a one-point lead, Todd Fletcher was fouled with 8.2 seconds left. He made the first free throws but missed the second and Shelton grabbed the rebound.
Thames was guarded tightly and his 3-pointer wasn't close as time expired.
The game was tied at 48 when Lyons hit consecutive 3-pointers, then stole the ball and fed to Max Yon, whose two free throws made it 56-48 with 2½ minutes left.
Thames had two free throws and a basket off a turnover in an 11-second span that pulled the Aztecs to 57-54 with 1:24 remaining, and Shelton's layup with 20 seconds left made it a one-point game.
After a timeout, the Falcons broke the full-court press and Tapley fouled Fletcher with 8.2 seconds left.
He sank one but missed the second, and Thames was hoping to drive to the basket to send the game into overtime. But with just 2 seconds remaining, he decided instead to fire up a 3-pointer and it didn't even touch the rim as the buzzer went off.
Air Force center Taylor Broekhuis broke his nose at practice Thursday and played with a mask. He logged 25 minutes, finishing with three points, four rebounds and three blocks.