Houston Texans quarterback Deshaun Watson (4) celebrates his touchdown against the Kansas City Chiefs during the second half of an NFL football game in Kansas City, Mo., Sunday, Oct. 13, 2019. (AP Photo/Ed Zurga)
Houston Texans quarterback Deshaun Watson (4) celebrates his touchdown against the Kansas City Chiefs during the second half of an NFL football game in Kansas City, Mo., Sunday, Oct. 13, 2019. (AP Photo/Ed Zurga) Credit: Ed Zurga

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.

Seahawks 32, Browns 28

CLEVELAND — Chris Carson scored on a 1-yard touchdown run with 3:30 left, Russell Wilson threw two TD passes and ran for one and Seattle rallied past mistake-prone Cleveland, improving to 3-0 on the road for the first time in 39 years.

The Seahawks (5-1) gave up touchdowns on Cleveland’s first three possessions before storming back.

Wilson connected with Jaron Brown for two scores, and Seattle’s cool quarterback scampered 16 yards for a TD. The Seahawks last won their first three road games in 1980, when they went 4-12.

Saints 13, Jaguars 6

JACKSONVILLE, Fla. — Teddy Bridgewater found Jared Cook for a 4-yard touchdown early in the fourth quarter, and New Orleans held on to beat Jacksonville and improve to 4-0 without injured starter Drew Brees.

Coming off a 300-yard, four-touchdown performance against Tampa Bay, Bridgewater was less effective against the Jaguars (2-4). But he did enough for New Orleans’ defense.

Gardner Minshew was sacked twice, hurried often and threw his first interception as a starter. The rookie sensation completed 14 of 29 passes for 163 yards and was held without a touchdown for the first time this season.

Niners 20, Rams 7

LOS ANGELES — Jimmy Garoppolo passed for 243 yards and ran for a touchdown, and San Francisco remained unbeaten with a dominant defensive performance against struggling Los Angeles.

George Kittle had eight catches for 103 yards for the Niners (5-0), who held Los Angeles’ once-unstoppable offense to 165 yards in coach Kyle Shanahan’s first victory over Rams coach Sean McVay in a game in which both of these NFC West rivals were playing their starters.

Jets 24, Cowboys 22

EAST RUTHERFORD, N.J. — Sam Darnold gave the Jets’ struggling offense a huge boost by throwing two touchdown passes in his return from mononucleosis, and New York held on to beat Dallas for its first win of the season.

The Jets led 21-9 in the fourth quarter, but Dak Prescott and the top-ranked Cowboys offense stormed back — and had a chance to tie in the closing moments.

Vikings 38, Eagles 20

MINNEAPOLIS — Kirk Cousins threw to Stefon Diggs for three of his four touchdowns, racking up a season-high 333 passing yards as Minnesota ravaged Philadelphia’s secondary.

Diggs scored on plays in the first half that covered 51 and 62 yards, becoming the first player since Randy Moss in 2000 to post two touchdown receptions of 50-plus yards in one game for the Vikings (4-2).

Ravens 23, Bengals 17

BALTIMORE — Lamar Jackson ran for a career-high 152 yards and a touchdown, threw for 236 yards and guided Baltimore past hapless Cincinnati.

Jackson carried 19 times, including three kneel-downs, and finished tantalizingly short of Michael Vick’s single-game record of 173 yards rushing by a quarterback.

Panthers 37, Buccaneers 26

LONDON — Christian McCaffrey scored two touchdowns and Carolina turned five interceptions by Jameis Winston into 17 points as the Panthers beat Tampa Bay.

After starting the season with two straight losses with hobbled Cam Newton at quarterback, the Panthers (4-2) have been on a roll with Kyle Allen at quarterback thanks to McCaffrey’s big plays and an opportunistic defense that had a franchise record-tying seven takeaways on the day.

Redskins 17, Dolphins 16

MIAMI GARDENS, Fla. — Rookie Terry McLaurin caught two touchdown passes and Washington stopped Miami’s two-point conversion attempt with 6 seconds left in a matchup between winless teams.

Adrian Peterson more than doubled his season rushing total with 118 yards for Bill Callahan in his first game as interim coach. Washington intercepted Josh Rosen twice and sacked him five times before he was benched at the start of the fourth quarter with the Dolphins trailing 17-3.

Broncos 16, Titans 0

DENVER — Denver’s swarming defense sent Marcus Mariota to the bench and Tennessee to its fourth loss in five games.

The Broncos (2-4) had seven sacks in a game for the first time since their 2015 Super Bowl season and they picked off three passes.

Cardinals 34, Falcons 33

GLENDALE, Ariz. — Kyler Murray threw for 340 yards and three touchdowns and Arizona built a big lead over Atlanta, lost it, and then rallied to win.

Atlanta looked like it would tie the game with 1:53 left after Matt Ryan hit Devonta Freeman on a 12-yard touchdown pass, but 44-year-old Matt Bryant missed left on the extra point, and the Cardinals ran out the clock from there.