The Utes (5-7, 3-6 Pac-12) doubled their season total with four interceptions of Nick Hirschman, and Dunn extended his NCAA record with his fifth career 100-yard kickoff return -- and his fourth this season.
The Buffaloes (1-11, 1-8 Pac-12) finished with their worst record since the school's inaugural 0-4 campaign in 1890. They also failed to win a game at home for the first time since 1920.
The Utes, who hadn't won on the road all season, outscored Colorado 22-7 down the stretch after third-quarter TD runs of 3 yards by Tony Jones and 5 yards by Donta Abron gave the Buffaloes a 28-20 lead heading into the fourth quarter.
The teams combined for 21 points in a stunning 29-second span:
-Utah quarterback Travis Wilson scored on a 9-yard keeper to break a 28-28 tie with 8:41 remaining.
-Mosley returned the kickoff 100 yards to tie it back up at 35. It was Colorado's first kickoff return for a score in three years.
-Dunn then extended his NCAA records for most 100-yard kickoff scores in a season (four) and career (five).
After that, the Buffaloes turned the ball over on downs, Nick Hirschman threw his fourth interception, and Brian Blechen's diving pick at midfield sealed Utah's win and Colorado's doom.
John White ran 20 times for 168 yards and became the first Utah player with consecutive 1,000-yard seasons. His score from 11 yards out with 10:50 left pulled Utah to 28-26, and the Utes tied it when Jake Murphy took the direct snap and threw a 2-point jump pass to fellow tight end David Rolf to tie it at 28.
On the next play from scrimmage, Lee picked off Hirschman and four plays later, the Utes set up in a five-wide receiver set, and Wilson scampered in for the go-ahead score with 8:41 left before the teams traded 100-yard kickoff returns.
Utah turned a trio of takeaways into 17 first-half points but the Utes also had a couple of big blunders that helped the Buffaloes score two touchdowns.
On the game's second snap, linebacker V.J. Fehoko swiped a screen pass that Hirschman intended for tight end Nick Kasa and returned it to the Buffaloes 16. Five seconds later, Wilson hit Dres Anderson for a quick 7-0 Utah lead.
The Buffaloes benefited from a critical call to tie it at 7. Linebacker Nick Brown was called for roughing the punter, giving Colorado a first down at the Utah 23, and Hirschman found Nelson Spruce for an 8-yard TD. That ended a touchdown drought of 156 minutes, 29 seconds at Folsom Field for the Buffs that dated to Oct. 11.
Abron, starting in place of injured tailback Christian Powell (concussion), coughed up the ball deep in Colorado territory, and safety Eric Rowe recovered for Utah. That led to Coleman Petersen's 21-yard field goal.
The Buffs caught a break when Charles Henderson ran into his own teammate and coughed up a punt at the Utes 15-yard line. But two incompletions and a sack brought out Will Oliver for a 38-yard field goal attempt. A 12-men penalty pushed the Buffs back and Oliver's 43-yard try was blocked by defensive end Joe Kruger.
Rowe's interception at midfield led to Kelvin York's 4-yard TD run that made it 17-7 before the Buffs put together an impressive 78-yard drive with Hirschman taking it in from a yard out with 20 seconds left in the first half after Utah was whistled for simulating the snap count, resulting in a new set of downs.
Last year, the Buffaloes ended Utah's division title hopes with a 17-14 win at Salt Lake City that snapped a school-record 24-game out-of-state losing streak.