Van Noy and Jamaal Williams turned fumbles by quarterback Adam Dingwell into touchdowns 17 seconds apart to stun the Aztecs and Van Noy added a touchdown thanks to another mistake by Dingwell in the final minutes
BYU ended San Diego State's seven-game winning streak that had included a road victory over Boise State.
The Cougars were trailing 6-3 early in the fourth quarter, but appeared set to take the lead when they marched to the San Diego State 4-yard line.
The Aztecs, however, escaped that threat when BYU quarterback James Lark threw an interception just short of the goal.
That touched off a quick turn of events that went BYU's way and ultimately decided the game.
Dingwell was sacked in the end zone on the first play after the interception and his fumble was recovered by Van Noy to put BYU in front with 12:32 to play.
One play after the ensuing kickoff, Dingwell fumbled again and Williams promptly ran 14 yards for another touchdown.
Van Noy completed the BYU onslaught by picking off a Dingwell pass and returning it 17 yards for a score with 6:09 remaining.
Brigham Young, which once competed against San Diego State in the Mountain West Conference but now plays as an independent, finished the season at 8-5. Its campaign was highlighted by a loss, a 3-point setback to current No. 1 Notre Dame in a game the Cougars led at halftime.
San Diego State, which was co-champion of the MWC with Boise State and Fresno State, wound up at 9-4.
Lark completed 22-of-41 passes for 237 yards while Dingwell went 10-of-19 for 121. He had four turnovers and another apparent interception was overturned by the replay official.
San Diego State played in a bowl game for a school-record third straight year. It was the second bowl game this year involving a team from the MWC and representatives from that conference have lost in both of them.