LAWRENCE, Kan. -- After the way that Kansas State ran the ball a week ago, Bill Snyder decided to make every effort to prove that the Wildcats were still a ground-and-pound kind of team.

No better opponent to ground and pound than its closest rival.

John Hubert ran for a career-high 220 yards, Jake Waters accounted for three touchdowns and the Wildcats beat turnover-prone Kansas 31-10 on Saturday for their fifth straight win in the series.

"I just got through with John, and I told him how proud I was," Snyder said. "Sometimes he gets caught dancing a bit, but today he didn't' do that. He kept his pad level low and ran hard."

Unlike last week, when the senior running back had 17 yards in a loss to Oklahoma.

"Last week we didn't rush the ball as well as we should of," Hubert said, "so we wanted to come out and prove we're still a hard-nosed team. We came out and got the job done."

Hubert also had a touchdown run for the Wildcats (7-5, 5-4), who will become the fourth school in Big 12 history to start 2-4 and reach a bowl game when it learns its destination in the coming weeks. The most likely bet is the Holiday Bowl, where Snyder has never lost.

Meanwhile, Kansas (3-9, 1-8) stumbles into the offseason with its fifth straight losing record and few signs that coach Charlie Weis had made much progress in two years in charge.

Jake Heaps threw for 138 yards with three interceptions, while Montell Cozart also threw a pick. The Jayhawks also fumbled twice for a season-high six turnovers.

"When you turn it over 100 times the chance you have to come back in a game like that just goes out the window," said Weis, who only allowed two players -- seniors Dexter Linton and Gavin Howard -- to speak to reporters after the game.

Waters finished with 160 yards passing, including touchdown throws to Zach Trujillo and Glenn Gronkowski. Waters also ran for a TD while playing almost the entire way, even in a stiff breeze, as run-first quarterback Daniel Sams watched from the Kansas State sideline.

Dante Barnett had two interceptions and recovered a fumble for the Wildcats, while Dylan Schellenberg had a pick and also recovered a fumble while playing for injured safety Ty Zimmerman.

James Sims had 22 carries for 82 yards in his final game for Kansas. Last week, the senior became the first player in school history with back-to-back 1,000-yard rushing seasons.

"He's probably one of the better running backs to ever come through, and because the team hasn't won many games he'll be underappreciated," Weis said. "I feel bad for him."

The 112th edition of the Sunflower Showdown went very much like the last four editions.

Kansas State needed just three plays to get on the board first. Waters found Trujillo down the seam on an option-pass, and the big tight end rumbled untouched 35 yards for the touchdown.

After the Wildcats forced a punt, it took four more plays to score again. This time, it was Hubert finding a crease and running nearly untouched 21 yards for the score.

Kansas State made it 21-0 moments later when Waters hit his big fullback, Gronkowski, on a 29-yard catch-and-run that closely resembled Trujillo's touchdown catch.

If there was any electricity in Memorial Stadium, it was gone by that point.

Heaps, took over for the ineffective Cozart, finally got Kansas going when he threw an 11-yard TD pass to Jimmay Mundine on fourth-and-2 in the second quarter. Then the Jayhawks took advantage of a fumble on the ensuing kickoff to tack on a short field goal.

Still, Kansas couldn't overcome its abundance of miscues.

Heaps delivered a perfect pass to Mundine in the third quarter that the tight end bobbled into the air and Barnett picked off. Five plays later, Waters fooled the entire Kansas defense by running around the right side for another touchdown and a 28-10 lead.

"Turnovers are part of the game," Weis said. "It was just how they all packaged together."

The Jayhawks were on the march again when Heaps threw a jump ball toward the end zone that Barnett intercepted again. Heaps was picked off one final time by Dorrian Roberts, and Ian Patterson knocked through a 31-yard field goal to put the game away.

"We wanted to finish this season off with a win," Waters said. "We didn't play as well as we could have, which is disappointing, but if you can get the win, you have to take it."