The Minnesota Vikings pulled off a big upset on Sunday, knocking off the defending NFC Champion San Francisco 49ers 23-17 to improve to 2-0 on the young season.

Vikings quarterback Sam Darnold, filling in for the injured rookie J.J. McCarthy, had a great day against his old team, completing 17-of-26 passes for 268 yards, two touchdowns and an interception. After the game, Vikings head coach Kevin O'Connell got emotional when talking about his new signal caller.

“The amount of work that goes into that position on your quarterback journey when everybody decides that you can not play. We always believed in him and it felt awesome to watch him go do that thing. Really proud of Sam Darnold.”

One of the highlights of the day came in the first half with the Vikings backed up in the shadow of their own goalpost. Darnold dropped back, stepped up in the pocket and uncorked a perfectly placed bomb to a double-covered Justin Jefferson, who took it all the way to the house for a 97-yard touchdown. It was the second-longest touchdown in Vikings history.

Darnold played for the 49ers last season as the backup to Brock Purdy. He started one game, in Week 18 against the Rams, as a member of a team that nearly won the Super Bowl. Darnold departed for Minnesota this offseason to back up McCarthy, but was thrust into the starting role when McCarthy went down with a season-ending torn meniscus before the season.

Sunday's performance continue a trend of Darnold playing well in O'Connell's offense, which many would argue is the best surrounding situation Darnold has had to work with in his career. The former No. 3 overall pick by the New York Jets is thriving under O'Connell's play calling prowess and with the star power of Jefferson on the outside.

The Vikings will have another stiff test next Sunday as they take on the Houston Texans at home.