AMES, Iowa (AP) -- After starting 1-3, Iowa State hardly looked a Big 12 contender -- let alone a team with a shot at the national title.
The Cyclones sent a message to the rest of the country Monday night that they plan on being a factor in the months ahead.
Georges Niang scored 22 points, Monte Morris added 20 and No. 19 Iowa State beat top-ranked Oklahoma 82-77, its first win over a No. 1 team since toppling Wilt Chamberlain's Kansas Jayhawks in 1957.
Morris had a jumper, a key rebound and two free throws in the final 21 seconds for the Cyclones (14-4, 3-3 Big 12).
It was the third time a No. 1 team lost in the state of Iowa this season. Northern Iowa beat North Carolina and Iowa beat Michigan State.
But none were as huge for an Iowa team as this one was for the Cyclones, who tumbled in the polls after losing to Texas and Baylor.
"We've been through a lot of adversity the last week or so, with a couple of losses. But if you listened to what they were saying, they were all saying the right things. They stuck together, and it just shows their character," said first-year Iowa State coach Steve Prohm, now the only one to beat a top-ranked team at Hilton Coliseum.
Oklahoma's Isaiah Cousins hit a 3 with 41 seconds left to tie the game at 75. But Morris drilled a step-back jumper for the lead, and Abdel Nader's free throws with 3.1 seconds to go put it out of reach.
"I give credit to my teammates for having the confidence in me to take that shot. I was just happy to come through for my teammates and happy we got the win because we put two halves together," Morris said.
Buddy Hield scored 27 points and Cousins had 26 for the Sooners (15-2, 4-2), who moved to No. 1 earlier Monday for the first time in 26 years.
Iowa State nearly beat Oklahoma on the road in the Big 12 opener earlier this month. The Cyclones led for 30 minutes, but Morris missed a wide-open 3 with 6 seconds left and the Sooners escaped 87-83.
This one was just as entertaining.
This time, Morris finished off the Sooners.
The Sooners rallied to jump back ahead 59-57 on a long, shot clock-beating 3 from Dante Buford. But Iowa State responded with 10 straight points, a run highlighted by Niang casually drilling a 3 to beat the shot clock for a 67-59 lead.
The Sooners made it all up in 79 seconds though, setting up yet another thrilling finish.
Nader scored 20 points for the Cyclones, who won despite allowing Oklahoma to hit 10 of 16 3s in the second half.
"We came ready to play. But Iowa State had more fight than us," Hield said.
Oklahoma: The Sooners entered play ranked first nationally at 45 percent on 3s. Iowa State's fans noticed, at times going silent when Oklahoma shot 3s as if they were expecting them to go in. ... Perhaps Hield's most impressive 3 was a fadeaway with 3:55 left that tied it at 67.
Iowa State: The Cyclones outscored Oklahoma 30-8 in the paint in the first half. But the Sooners buried seven 3s to keep it within 41-35. ... Reserve guard Hallice Cooke, who was suspended for Saturday's 76-63 win at Kansas State for violating team rules, didn't play Monday.
Iowa State, which has struggled at times rebounding, grabbed 11 more than Oklahoma. ... Cousins was 10 of 15 from the field. ...The Cyclones won without getting a point from their bench. ... Jordan Woodard was the only Sooner cold from 3-point range, going 1 of 5. He scored eight points.
"We didn't rebound the ball like we need to, especially on the road," Oklahoma coach Lon Kruger said.
Oklahoma travels to No. 13 Baylor on Saturday.
Iowa State plays at TCU on Saturday.