EUGENE, Ore. (AP) -- Andre Roberson gave Colorado the second chance it was looking for and turned it into the game-winning basket in a victory the Buffaloes desperately needed.
Roberson scored off his own miss with 29 seconds left and Colorado scored the final eight points of the game to upset No. 19 Oregon 48-47 on Thursday night.
Roberson finished with 10 points and 13 rebounds for the Buffaloes (15-7, 5-5 Pac-12), who trailed 47-40 with just under 4 minutes to play when they rallied for their lowest-scoring victory of the season.
''We're just trying to get back on track, trying to get where we want to be,'' Roberson said. ''This was one step forward.''
Carlos Emory and E.J. Singler scored 14 points each to lead the Ducks (18-5, 7-3), whose third consecutive loss snapped a 20-game home winning streak.
Oregon was without starting point guard Dominic Artis for the fourth straight game. The freshman is recovering from an undisclosed foot injury and the Ducks are 1-3 without him.
Singler had a chance to win it for Oregon but his long jumper was tipped by Spencer Dinwiddie and fell into Roberson's hands under the basket with 1.1 seconds left.
''Huge win'' said Colorado coach Tad Boyle, whose team was coming off a 58-56 loss to lowly Utah, the Buffaloes' only blemish in their last five games. ''That was a head-scratcher. But when we're dialed in, we're pretty good.''
They were certainly that against Oregon late in the game.
The Ducks led 28-23 at halftime and never trailed until Roberson's last basket on a possession set up by an offensive foul called on Singler at the other end, Oregon's fourth straight turnover.
Roberson took a pass from Dinwiddie under the basket but had his first attempt blocked from behind by Arsalan Kazemi, who had six points and 11 rebounds.
''Go get it, go get it,'' Roberson said he told himself. ''If you want to win this game, put it all on the line.''
He got it, and went back up for the basket.
''Andre can get it to the rim awfully quick,'' Boyle said.
Colorado had 17 second-chance points, including two more by Roberson with 2:12 to play that made it 47-46.
''Dominic spreads the floor,'' Oregon coach Dana Altman said. ''The floor has shrunk and it's been hard to drive to the hoop.''
Dinwiddie scored seven of the Buffaloes' first 10 points in the second half as they cut their halftime deficit to 35-33 with 14:19 to play.
Ben Carter answered for Oregon with a jumper from the baseline and Emory followed with two free throws on the Ducks' first trip to the foul line and extended the lead to 39-33 with 11:02 to go.
Oregon's lead grew to 47-40 on a dunk by Emory with 4:26 to play. But those were the Ducks' final points as they went 0 for 3 from the field the rest of the way.
''I definitely sensed a little panic when we started making a little comeback,'' Roberson said. ''You could definitely sense they were feeling pressure to score the ball.''
Oregon shot 36.2 percent from the field and had seven of its 12 turnovers over the final 7:39.
Colorado had 12 turnovers and shot 36.5 percent, but the Buffaloes got hot at the end of the game, going 3 for 5 from the field over the final 4 minutes.
''I'm more disappointed with our defense than our offense,'' Altman said. ''We didn't get stops and gave up too many second-chance points.''
The Ducks broke an early tie with a 10-2 run to take a 15-7 lead by the 10:58 mark of the first half. Emory had four points during that stretch while Colorado's only points came off a monster two-handed slam of a rebound by Roberson over Kazemi.
Kazemi got his revenge on the Ducks' ensuing possession, spinning to the basket for a one-handed dunk off a rebound. The typically subdued Kazemi then flexed his biceps as the Oregon student section erupted.