KANSAS CITY, Mo. -- Deshaun Watson threw for 280 yards and a touchdown while running for two more, outdueling Chiefs counterpart Patrick Mahomes in a matchup of former first-round picks and leading the Houston Texans to a 31-24 victory over Kansas City on Sunday.
Carlos Hyde added 116 yards rushing and a touchdown against the team that traded him to Houston (4-2) before the start of the season. DeAndre Hopkins hauled in nine passes for 55 yards.
None was bigger than his last, when the Texans star made a sliding grab on fourth-and-3 from the Kansas City 27 with just under 2 minutes to go. That allowed Houston to run out the clock and deal the Chiefs (4-2) their second consecutive loss -- both at Arrowhead Stadium.
Mahomes, who was selected two spots ahead of Watson in the 2017 draft, finished with 273 yards passing and three touchdowns, though he also threw his first interception of the season.
Star wide receiver Tyreek Hill returned to action for the first time since Week 1, when he broke his collarbone, to catch five passes for 80 yards and two of the Chiefs' scores.
It wasn't a pretty game for either side. The teams combined for 21 penalties totaling nearly 150 yards, and that didn't include close to a dozen flags that were offsetting, overruled or declined.
It was Kansas City that started hot, engineering drives of at least 90 yards twice in the first quarter. Hill finished the first with a 46-yard reception -- the first TD throw in a first quarter by Mahomes since Week 1 -- while Damien Williams finished the second with a 14-yard TD catch.
In between, Hyde coughed up the ball on Houston's first offensive play.
But the big running back soon atoned for his mistake. Hyde battered the Chiefs' porous run defense the rest of the game, punctuating a big first half with a short touchdown run.
The Texans then took the lead into the locker room after Mahomes was strip-sacked with 20 seconds left and Houston recovered, and Watson waltzed into the end zone on the very next play.
It wasn't the last time he reached pay dirt.
Mahomes hit Hill again in the third quarter to give the Chiefs the lead back , but the Houston quarterback answered with a 12-play, 93-yard drive consuming more than 8 1/2 minutes. By the time he spun into the end zone and converted the 2-point try, the Texans had a 31-24 lead with 6:17 to go.
Kansas City went three-and-out on its next possession, and a defense that has been maligned for most of Andy Reid's tenure with the Chiefs failed to make a stop once again.
The first pick Mahomes had thrown this season was nearly wiped out when an official threw a flag for pass interference. But after referee Shawn Hochuli announced the penalty, the officials huddled and decided to pick up the flag in a bizarre series of events.
Texans: CB Johnathan Joseph (hamstring) was inactive after showing up on the injury report Friday. Also inactive were WR Kenny Stills (hamstring) and RB Taiwan Jones (hip). ... RT Tytus Howard (knee), CB Bradley Roby (hamstring) and LB Zach Cunningham (knee) left during the game.
Chiefs: Inactive starters included WR Sammy Watkins (hamstring), LT Eric Fisher (groin), LG Andrew Wylie (ankle), DT Chris Jones (groin) and LB Anthony Hitchens (groin).
Texans visit the Colts next Sunday.
Chiefs visit the Broncos on Thursday night.