EUGENE, Ore. -- In the hours that followed Stanford's nine-point loss to Oregon State on Thursday, Anthony Brown looked his teammates in the eye and vowed to be better than his 1-for-10 shooting performance.
It took the junior guard one game to live up to his words.
Brown scored a career-high 24 points and the Cardinal held on to send No. 17 Oregon to its third straight loss, 82-80 on Sunday.
"I just had to move forward," said Brown, who scored seven points against the Beavers. "I hadn't had a game like that this year. I told the team I felt like I let them down."
Brown made his first attempt from the field Sunday -- a game-tying 3-pointer just 2:24 into the game -- and didn't miss until the second half. He made his first seven shots and 10 of 12 overall.
Chasson Randle had 23 points for the Cardinal (10-5, 1-2 Pac-12), who beat their second ranked team this season, something they hadn't accomplished since 2009.
"Anthony stepped up," Randle said. "The starters had a talk after the [Oregon State] game and Anthony stepped up and said `I've got you guys. We're going to do it together but I'm going to step up next game.'"
Mike Moser scored 24 points to lead the Ducks (13-3, 1-3), who had two chances to tie the game in the final 8 seconds but Johnathan Loyd missed an open jumper and Dominic Artis had a last-ditch layup roll off the rim as time expired.
Oregon opened the season 13-0 but hasn't won since beating Utah in overtime on Jan. 2. The Ducks have since lost to No. 15 Colorado, California and the Cardinal. They have allowed an average of 92.6 points in those games.
"We've got to regroup," Oregon coach Dana Altman said. "After having a pretty good six-week stretch, we had an awful eight days here."
Stanford led 41-37 at halftime and didn't lose the lead in the second half, though Oregon pulled within two points following 3-pointers on four straight possessions -- three by Moser -- that made it 64-62 with 11:38 to play.
The Ducks again cut their deficit to one possession following a jumper by Loyd that made it 77-74 with 2:12 to play, but Brown answered with a long jumper.
Randle, who was coming off a 30-point performance against Oregon State, was 8 of 14 from the field. Dwight Powell also had 14 points and six assists for the Cardinal.
Stanford coach Johnny Dawkins said he saw a different team Sunday than what he saw in Thursday's loss.
"You could see it in their eyes right from the start," Dawkins said. "I thought the execution was good. We only had seven turnovers as a team that turns it over at least 15 times a game. That says a lot about our poise and ability to handle the pressure. I was really proud of them."
Jason Calliste had 12 points and Damyean Dotson scored 10 for Oregon.
The Ducks hit nine of their first 15 shots to take a 27-21 lead with 7:19 to play in the half.
But Brown, who scored 13 points in the first half, hit a short jumper and then scored in transition off a turnover to spark a 10-2 run that put the Cardinal up 31-29 and they eventually pushed their lead 41-37 at halftime.
Oregon made just one field goal in the final 8:38 of the half and committed 11 turnovers in the first half that resulted in 14 points for Stanford.
Overall, Stanford scored 20 points off 15 turnovers.
"The turnovers in the first half really put us in a hole," Altman said. "Offensively our numbers are great but we didn't get enough shots because of the turnovers, especially in the first half."
Randle scored 14 points in the first half. His layup with 1:13 to play gave the Cardinal their largest lead of the half, 41-34.