Kirk Cousins' streak of incredible first halves is up to three. He has thrown eight touchdown passes this season, all of them in the first half. Cousins connected with Tyler Conklin, Adam Thielen, and Justin Jefferson in the first half as the Vikings lead the Seahawks 21-17.

The Vikings' first possession came with them already trailing 7-0. Cousins marched the offense down the field and found Conklin for the tight end's first TD catch of the year.

The Vikings' defense has continued to struggle mightily, allowing over 300 yards of offense in the first half against the Seahawks.

Trailing 17-7, the Vikings were bailed out by a defensive holding call on Seattle's Ugo Amadi. They made the Seahawks pay. Cousins marched down the field again and hit Thielen for a touchdown for the fourth time already this season.

Then, after a missed field goal by the Seahawks, Cousins hit Jefferson on a whip route for his third touchdown pass of the first half.

Cousins' first half stats: 16 of 20 for 185 yards, three touchdowns, no turnovers, and a 144.7 passer rating.

He still hasn't turned the ball over this season. Cousins is absolutely dealing.

Now, the Vikings just need their defense to step it up in the second half. Oh, and they need Cousins to keep it up, which hasn't happened in the first two second halves of the year. He hasn't been bad, but he hasn't thrown any second-half touchdowns yet.

More must-reads:

TODAY'S BEST
Liverpool forward Mohamed Salah joins elite company in victory vs. Tottenham
Former All-Pro CB medically cleared for football activities
Watch: 12-2 run gets Cavs back into Game 7
NHL announces 2024 Selke Trophy finalists
J.J. Watt has interesting comments on possibility of playing in 2024
Russell Westbrook reacts to reports of him leaving Clippers
Ant-Man leads Timberwolves to Game 1 upset of Nuggets
Luis Arraez makes history in Padres debut
Corey Heim dominates Truck Series race at Kansas Speedway while tempers flare on pit road
Lionel Messi sets MLS record with monster game
Watch: Anthony Edwards does it all for Minnesota
Watch: 150th Kentucky Derby ends in three-horse photo finish
Clippers could see nine-time All-Star jump ship this summer
Phillies get rough injury news on Trea Turner
Watch: Yankees star Aaron Judge receives first career ejection after arguing called third strike
Mavericks lose key player for 'significant period of time'
Blue Jays manager John Schneider blasts team after latest loss
Lakers make another big change after firing Darvin Ham
Draymond Green doubles down on Knicks' inability to win a championship
Phillies lose two-time All-Star to injured list