Utah State (2-0) held on after Utah (1-1) had a touchdown nullified when Murphy was called for interference.
Utah lost more than the game. It lost quarterback Jordan Wynn, who sustained a season-ending injury to the same left shoulder last October.
Jon Hays replaced him and rallied Utah. His TD pass to Kenneth Scott tied it at 20 with 3:19 left in regulation. Utah got another TD pass from freshman Travis Wilson.
Utah's Coleman Petersen missed a 52-yard field goal on the final play in regulation, sending the teams to overtime for the first time in the series.
Hays, who finished 12 of 26 for 154 yards, had one last chance in overtime but his pass to DeVonte Christopher fell incomplete, setting off a wild celebration at sold-out Romney Stadium.
The teams are set to play in Salt Lake City in 2013 and 2015, but scheduling is an issue as Utah plays in the Pac-12 and the Aggies are headed to the Mountain West next season.
The Aggies had not beaten Utah since 1997, and not in Logan since 1996.
The Aggies showed they meant business from the start, dominating the first quarter in every category except time of possession.
They pressured Wynn into off-balance throws, overthrows and a fumbled snap as he started 1 of 4 for 2 yards.
After one quarter, Utah had 15 yards net offense on 14 plays, compared to 96 for Utah State.
Utah State took a 7-0 lead with 7:59 left in the first when Zach Vigil blocked a punt and Clayton Christensen recovered in the end zone for the Aggies. It was Utah State's first blocked punt for a touchdown since 2002.
Keeton, meanwhile, live up to the hype he generated in his college debut against defending national champion Auburn last year. He started 6 of 8, including a 15-yard TD pass to Joe Hill that put the Aggies up 13-0 late in the first quarter.
Keeton finished 22 of 32 for 216 yards with 2 TDs, and also rushed for 94 yards on 17 carries.