The Vikings followed their winning formula again to precision and maintained the NFL’s only perfect record.

Adam Thielen caught a touchdown pass to cap Minnesota’s opening drive and finished with a career-high 127 yards, and the Vikings’ defense flustered Brock Osweiler and the visiting Texans on the way to a 31-13 victory Sunday.

“When your offense comes out on all cylinders like that, it just juices us up even more and wants us to play harder,” defensive end Everson Griffen said. “We’ve just got to keep doing that.”

Marcus Sherels returned a punt 79 yards for a touchdown and Cordarelle Patterson scored on another sharp throw by Sam Bradford, who deftly guided the offense to a fifth straight turnover-free game in his fourth start for the Vikings (5-0).

“You play from ahead and give our defense a chance to get after the passer,” Bradford said, “I think it’s pretty tough on the other team.”

Osweiler was overmatched by Minnesota’s relentless pass rush and coverage, finishing 19-for-42 for 184 yards, one interception and a late touchdown pass to DeAndre Hopkins while taking four sacks. The Texans (3-2) were denied on 12 of 13 third downs, unable or unwilling to do much other than dump off short passes. Lamar Miller had only eight carries for 20 yards during a dud of a performance by the Texans that felt a lot like the 27-0 loss at New England two weeks ago.

“It was bad. It was bad,” head coach Bill O’Brien said. “It starts and ends with me. I’ve got to do a much better job with this football team.”

Packers 23, Giants 16: Aaron Rodgers threw two touchdown passes in a choppy night for the Green Bay offense, and the Packers (3-1) rattled visiting New York (2-3). Rodgers was 23-for-45 for 259 yards and also threw two interceptions. Jordy Nelson and Davante Adams each had highlight-reel touchdown catches to help the Packers build an 11-point halftime lead. Mason Crosby kicked three field goals, including two in the fourth quarter. New York’s Eli Manning was 18-for-35 for 199 yards, and Odell Beckham Jr. caught five passes for 56 yards. His touchdown with 2:54 left was upheld on replay.

Washington 16, Ravens 10: Washington used an 85-yard punt return by Jamison Crowder and an uncharacteristically strong performance by its defense to win at Baltimore. It was the third straight win for Washington (3-2), which came into Sunday with the league’s 29th-ranked defense. Washington allowed a touchdown on the game’s opening drive but smothered the Ravens (3-2) afterward. The game wasn’t decided until the final minute, when an apparent 23-yard touchdown catch by Baltimore’s Breshad Perriman was overturned by replay. Perriman got his right foot down in the end zone, but his left foot was out of bounds.

Steelers 31, Jets 13: Ben Roethlisberger passed for 380 yards and four touchdowns and host Pittsburgh (4-1) took control in the second half against New York (1-4). Sammie Coates caught six passes for a career-high 139 yards and two scores, including a 72-yard TD reception on Pittsburgh’s opening drive as the Steelers moved the ball at will against a secondary missing injured Darrelle Revis.

Bills 30, Rams 19: Nickell Robey-Coleman returned an interception 41 yards for a touchdown, LeSean McCoy rushed for 150 yards, and visiting Buffalo (3-2) won its third consecutive game. Robey-Coleman stepped in front of rookie receiver Pharoh Cooper and strolled down the sideline to put the Bills ahead 23-16 with 3:54 left in the third quarter. The big play allowed the Bills to finish off Los Angeles (3-2) and end its three-game winning streak. Robey-Coleman added another interception in the final minutes. The Bills stopped Bradley Marquez on a fake punt at the Rams’ 25 with 3:41 remaining.

Titans 30, Dolphins 17: Marcus Mariota threw for three touchdowns and ran for another score to help Tennessee (2-3) overcome a handful of big plays by host Miami (1-4). Mariota bounced back with a strong game after totaling three interceptions and no TD passes in losses the past two weeks. He went 20-for-29 for 163 yards with no interceptions, and ran seven times for 60 yards. DeMarco Murray added 121 yards rushing for the Titans, who totaled 235 on the ground. Ryan Tannehill and the Dolphins’ offense turned in another woeful performance, aside from the occasional long gain. Rookie Jakeem Grant scored on a 74-yard punt return, Damien Williams had a 55-yard reception to set up a touchdown, and DeVante Parker made a 50-yard reception that led to a field goal.

Colts 29, Bears 23:Andrew Luck threw a 35-yard TD pass to T.Y. Hilton with 3:43 left to lead the Colts (2-3) to the franchise’s first-ever defeat of Chicago (1-4) in Indianapolis. Brian Hoyer was solid in his third straight start, throwing for 397 yards and two touchdowns for the Bears.

Latest from the SFGATE homepage:

Click below for the top news from around the Bay Area and beyond. Sign up for our newsletters to be the first to learn about breaking news and more. Go to 'Sign In' and 'Manage Profile' at the top of the page.