AMES, Iowa -- Kansas State's offense is at its best when quarterback Collin Klein has the ball in his hands as much as possible.
The Wildcats defense doesn't mind it either.
Klein ran for 105 yards and three touchdowns and sixth-ranked Kansas State held off Iowa State 27-21 for its fifth straight win over the Cyclones.
Klein also threw for 187 yards for the Wildcats (6-0, 3-0 Big 12), who held the ball for over 40 minutes, converted on eight of 17 third downs and remained unbeaten heading into next week's showdown with West Virginia.
Kansas State held the Cyclones (4-2, 1-2) to just 231 yards of offense, in large part because Klein hardly ever let them touch the ball.
|More on Kansas State-Iowa State|
|More college football coverage|
"It's an honor. It's a team game, though. It's about all 11 of us out there, it's about all 11 of us out there to execute, be calm in a high pressure situation," Klein said. "We were able to get some big, big first downs."
Iowa State still had a chance for the game-winning drive from its own 3-yard line with 2:17 left. But the Wildcats defense -- no doubt as fresh as it could be in such a late spot -- stopped the Cyclones on downs.
Jared Barnett threw for 166 yards and two TDs for Iowa State, which appears to be much better than many thought this season.
But like every team before them, the Cyclones had no answer for the methodical Klein.
"It was like he always does. He ran the ball well, the managed the ballgame well, threw the ball reasonably. His leadership was good," Kansas State coach Bill Snyder said.
Saturday's win was a vintage performance by Klein, who outgained the Cyclones by himself and showed why he's among the nation's best quarterbacks on the run.
One play in particular told the story of the day. Facing third-and-long deep in Iowa State territory, Klein hung in a collapsing pocket long enough for the right side of the field to open up. He bounced out of trouble and, with defenders going the other way, darted 12 yards to put Kansas State up 24-14 with 49 seconds left in the third quarter.
"Patience. He followed his blocks, and sometimes even when there wasn't a hole he just waited it out. You know, he's not a hard runner. He's a tough runner," Iowa State linebacker Jeremiah George said. "He's not going to bruise you around. He's just going to wait, wait, wait."
But to its credit, Iowa State simply wouldn't go away.
The Cyclones, helped immensely by a pass interference call on the Wildcats at the goal line, answered with a 2-yard TD run by Jeff Woody to get within 24-21 with 12:34 to go.
The problem was Iowa State's defense had already been on the field for 30 minutes by then, and the Wildcats wisely chose to wear the Cyclones out on the ground.
Though Kansas State had to settle for a 25-yard field goal from Anthony Cantele, they burned over eight minutes driving down the field.
Iowa State had two more chances. It was stuffed on fourth down both times.
"I think we played well defensively," Snyder said. "We had our moments, but we certainly had things we'd like to have back."
What had been torrential downpours eased by the late morning kickoff. Still, the game was played on a soggy field with heavy, swirling wind and two of the Big 12's best defenses squaring off.
None of that seemed to matter early on, since the Cyclones and Wildcats each found ways to put up points.
Iowa State jumped ahead 7-3 on Shontrelle Johnson's 2-yard TD grab to open the second quarter.
Klein answered, bullying his way through a pile of defenders for a critical fourth-down conversion at the Iowa State 3-yard line. Klein punched it in from 2 yards out to make it 10-7, Kansas State, with 8:18 left in the first half.
Barnett shook off a bad interception at the Kansas State goal line with a 30-yard TD pass to a wide-open Ernst Brun in the flat. But Klein's skills as a runner helped buy him enough room to toss a 45-yard completion to Tyler Lockett, and his 6-yard TD run put the Wildcats ahead 17-14 at halftime.
"He's getting the ball, so something good is going to happen. That's just our thought," Kansas State wide receiver Chris Harper said of Klein.
Iowa State played without its leading rusher, James White, who missed the game with a knee injury that Rhoads said after the game will likely keep him out for two weeks.
The Cyclones struggled without White, rushing for just 65 yards on 24 carries. But given how much clock Klein and the Wildcats ate up, it's not like White would gotten a lot of carries anyway.
"It reads like a Bill Snyder-authored novel. Standard Kansas State football game, coached by a legendary coach and quarterbacked by a great, great football player," Rhoads said.