It was the backup quarterbacks who helped the Vikings to a 17-10 preseason win over Buffalo on Thursday night.
In his first action with the Vikings, Case Keenum threw for 121 passing yards on 11-of-16 passing and had a passer rating of 90.9.
After the first-team offense punted on its first three possessions, Keenum got the Vikings on the board with a scoring drive that tied the game at 3.
Keenum led an 11-play, 60-yard drive that culminated with a 36-yard field goal from Kai Forbath.
Keenum, whom the Vikings signed as a free agent this spring, completed five of six passes for 63 yards on the series, with the highlight being a 38-yard completion to rookie wide receiver Stacy Coley.
Keenum also used his legs on the drive, scrambling for seven yards to convert and third-and-3 situation.
The former Texans and Rams quarterback then help Minnesota get its first touchdown on the preseason by orchestrating a seven-play, 69-yard drive on the Vikings first possession of the third quarter.
Keenum opened the drive with a 12-yard pass to wide receiver Adam Thielen, and he later got the Vikings on the cusp of the goal line by finding Coley for 24 yards on third-and-7 from Buffalo's 26-yard line.
Keenum's competition for the backup quarterback job, Anthony Harris, entered the game midway through the third quarter.
The former undrafted free agent was in live game action for the first time since August of 2015 after he missed the preseason last year with a foot injury.
"I think I needed to calm down a little bit," Heinicke said. "I was a little antsy at first … excited.
"My first time being on the field in two years, it wasn't as clean as I would like, but I'm going to watch film and try and get better from it," Heinicke added.
Heinicke completed three of eight passes for 20 yards and threw an interception, but also led Minnesota to its second touchdown with a drive that chewed up nearly half of the third quarter.
Heinicke's best play of the series was picking up a dropped snap and scrambling 19 yards for a first down on third-and-1. The drive ended with a 2-yard touchdown run from fullback C.J. Ham.
The former Old Dominion standout threw the game's lone interception early in the fourth quarter.
Heinicke rolled out to his right and attempted to throw the ball away, but it was corralled by Buffalo safety Joe Powell.
"Just threw it right to the guy," Heinicke said. "I should have thrown it out of bounds, and that was my intention. I just threw it right to him."
The next big test in the competition for the backup job will come Friday in Seattle. The Vikings take on the Seahawks at 9 p.m. CT at CenturyLink Field.