Boise State couldn't overcome its rare mistakes on special teams.

The No. 19 Broncos, for years dominant on special teams, made two costly miscues against San Diego State that proved too much for their sputtering offense despite a late rally.

The Aztecs returned the opening kickoff for a touchdown then turned a blocked punt into another touchdown in a 21-19 upset at Bronco Stadium on Saturday night.

The defeat is a bitter one for the Broncos.

Coming into the game, Boise State had won seven straight and was inching toward a shot at playing in a BCS bowl. Now, the Broncos will need some help down the stretch to even have a chance of winning or sharing a conference title.

"This is my last year, and I know I'm speaking for all of the seniors, it kind of puts a damper on it," linebacker J.C. Percy said. "We'll be all right though."

The Broncos (7-2, 4-1 Mountain West) had a chance to tie the game late, but failed to convert on a 2-point conversion that would have tied the score with 5:35 remaining.

After running back D.J. Harper scored from 1-yard out to pull within 21-19, Joe Southwick was pressured on the ensuing play and his throw on the run was intercepted near the goal line by Rene Siluano.

The Aztecs took over, got a couple of first downs and ran out the clock to win their fifth straight and move into a tie for first place in the conference. It was also San Diego State's first victory over a ranked foe since a 1996 win over Wyoming.

For the Broncos, it was another rare loss on the blue turf. Last season, TCU came in and won at Bronco Stadium, spoiling hopes for a conference title and playing in a BCS bowl. Boise State came into the game with a 71-1 record in regular season home games, dating back to 2001.

"We can't be thinking about that right now," coach Chris Petersen said of a conference title and postseason. "We need to be very, very short-sighted and hone in on this tomorrow and figure out what we need to get corrected. All losses are hard. You put your heart and soul into this, and everyone does. It's a very painful part of the process."

San Diego State (7-3, 5-1) was led by Adam Muema, who rushed for 127 yards and a touchdown. But it was really the Aztecs' special teams that made the difference.

Colin Lockett returned the opening kickoff for a touchdown, just the third allowed during Petersen's seven-year tenure.

Then in the third quarter, Dwayne Garrett reached over a blocker and deflected Trevor Harman's punt to set up another score. Garrett scooped up the bouncing ball and was pushed out of bounds at the Boise State 8. Two plays later, Muema scored on a 3-yard run that put the Aztecs up 14-13.

The Broncos were led by Harper, who scored twice and rushed for 81 yards. Southwick was 20 of 31 for 164 yards on one touchdown. He was sharp in the first half and helped the Broncos take a 13-7 lead at the half. But he opened the second half by throwing an interception on the first play of the third quarter.

Boise State managed just one first down on the next three possessions in the third quarter. Boise State had 276 total yards on offense and was penalized just once.

San Diego State's redshirt quarterback Adam Dingwell, who took over three weeks ago after starter Ryan Katz went down with an injury, was 12 of 18 for 105 yards. Walter Kazee scored the Aztecs' final touchdown on a 1-yard dive with 12:20 left in the game.

Boise State travels to Hawaii next Saturday, then closes out the season with a home game against Colorado State and the finale at Nevada.