AUBURN, Ala. (AP) -- Brandon Cox threw a touchdown pass to Gabe McKenzie with 2:01 remaining and Antonio Coleman returned a fumble for a score moments later Saturday night to give No. 18 Auburn a 23-13 win over Kansas State.

Auburn's offense struggled all night, and Kansas State seemed poised for its 18th straight season-opening win, the first against a ranked opponent on the road.

But Auburn finally wore down the Wildcats. Cox -- who spent most of the game on his back or trying to escape pressure -- found McKenzie alone in the left corner of the end zone from the 3 to cap a 57-yard, seven-play drive.

The Wildcats got the ball back but Quentin Groves sacked Josh Freeman, forcing a fumble that Coleman returned 34 yards for a touchdown.

Freeman completed 32 of 57 passes for 268 yards and was intercepted twice, including on Kansas State's final possession after Coleman's fumble return.

Kansas State players were stunned afterward. As Auburn fans went wild in a stadium that was nearly all orange, the Wildcats gathered in a tight group in front of their bench and walked off the field in formation. A few thousand fans dressed in purple cheered.

It was a stunning end for K-State.

With the Wildcats trailing 6-3 after a first half dominated by defense, Kansas State's Marcus Watts intercepted Cox at the Wildcats 31 on the first play of the third quarter. Freeman directed the offense to the Auburn 21, and it was time for a trick.

Freeman took the snap and turned left, tossing a lateral to wide receiver Jordy Nelson on a third-and-6 play. Nelson heaved the ball deep to Leon Patton, who was all alone in the right side of the end zone for the first touchdown of the game.

Kansas State's Brooks Rossman kicked field goals from 20 and 40 yards, but he missed from 47 yards.

Auburn only returned one starter on the offensive line, and it showed. Cox was sacked five times -- four times in the first half -- and spent most of the game trying to escape Wildcat defenders coming at him from all directions.