DENVER (AP) Kirk Cousins was perfect in his cameo, and then kicked back and watched two former Broncos quarterbacks tear apart their old teammates.

Cousins completed all four of his passes in the Vikings' 42-28 exhibition victory Saturday night, including a 1-yard touchdown strike on a quick slant to Stefon Diggs .

''I think it was a smooth first drive but it is a small sample size and the next couple of weeks will be a good test for us,'' Cousins said.

Diggs called it a good first step.

''He's a good quarterback,'' Diggs said. ''He makes some great throws.''

Case Keenum wasn't nearly as sharp in his Denver debut, completing just 1 of 4 passes for 5 yards spanning two drives.

''It's just frustrating not playing well and you don't have a chance to bounce back from it,'' Keenum said.

Cousins was the crown jewel of this year's free-agent class of quarterbacks, signing an $84 million, three-year deal in Minneapolis. That meant Keenum was out two months after leading the Vikings to the NFC championship, and he signed a $36 million, two-year deal with Denver.

The Broncos then traded their starter, Trevor Siemian, to the Vikings to serve as Cousins' backup - so long as he beats out Kyle Sloter, another former Denver QB.

That left Paxton Lynch and Chad Kelly vying for No. 2 duty in Denver.

So, this preseason opener was filled with quarterback intrigue.

After Cousins' single series - one in which he didn't have to face Von Miller - Siemian led Minnesota on three scoring drives, most notably a screen pass to Roc Thomas that beat the blitz for a 78-yard score .

Siemian was 11 of 17 for 165 yards, two TDs and an interception against his old team.

''It was a little weird for sure, but good to see old buddies,'' Siemian said.

Lynch, the former first-rounder twice beaten out by Siemian in Denver, was just 6 of 11 for 24 yards and an interception.

''Obviously I'm upset,'' he said.

Despite 17 yards passing overall in the first half, the Broncos only trailed 24-14 at halftime thanks to Isaiah McKenzie's 78-yard punt return for a TD and rookie Royce Freeman's 23-yard TD scamper - Denver's only first down before halftime.

Just when the crowd was starting to lament losing Siemian and Sloter, in came Kelly to fire up the crowd.

Kelly threw a 36-yard touchdown pass to tight end Matt LaCosse. Amid chants of ''Kelly! Kelly!'' he also drove Denver 85 yards in 11 plays, capping the drive with a 19-yard strike to running back Phillip Lindsay to put the Broncos on top 28-27 with 10 minutes remaining.

Sloter, who was cut by Denver a year ago, responded by throwing a 9-yard touchdown pass to Chad Beebe with six minutes left to put the Vikings back on top. His strike to Jeff Badet for the 2-point conversion made it 35-28.

Safety Jack Tocho picked off Kelly at the Denver 30-yard line with 5:23 left, and Sloter sealed it with a 14-yard bootleg for the score.

Sloter was 9 of 11 for 69 yards and Kelly was 14 of 20 for 176.

Lynch might be losing in his battle to be the backup, but he insisted he's ''excited for Chad.''

''Chad's been playing really well and he deserves that,'' Lynch said. ''He's a good kid.''

Broncos coach Vance Joseph wasn't quite ready to elevate Kelly to No. 2 QB, saying he had to study the film.

''Obviously, Case is the starter, so that's my main concern,'' Joseph said. ''Chad has played well. He played well tonight, outside of the one interception, which led to a score for those guys. He's a guy that plays with a lot of confidence. That's a good deal.''

MCKENZIE MAGIC

Joseph's faith in McKenzie finally paid off with his punt return for a score.

''Huge for him,'' said Joseph, who stuck with McKenzie last year despite a half-dozen fumbles. ''He's obviously a talent. His issue last year wasn't talent. It was more decision-making. We're helping him fix that so he can help us win games.''

NATIONAL ANTHEM

Linebacker Brandon Marshall and wide receiver Demaryius Thomas weren't with their teammates on the sideline for the national anthem. They emerged from the tunnel behind the Broncos' bench after the anthem was over.

''We didn't know about that,'' Joseph said. ''But it's their right.''

INJURIES

Broncos S Jamal Carter (hamstring), CB Marcus Rios (hip) and TE Austin Traylor (right shoulder) got hurt.

NEXT UP

Vikings: Host Jaguars on Aug. 18.

Broncos: Host Bears on Aug. 18.

---

More AP NFL: https://apnews.com/tag/NFLfootball and https://twitter.com/AP-NFL

---

Follow Arnie Melendrez Stapleton on Twitter: http://twitter.com/arniestapleton

Copyright 2018 by AP. Any commercial use or distribution without the express written consent of AP is strictly prohibited.