One team came into their season opener with high expectations, the other not much was expected of after suffering numerous offseason personnel losses. But, as it said, that's why they play the games.
San Francisco dominated Minnesota on both sides of the ball as a lethargic Vikings team fell 20-3.
The highly anticipated return of Adrian Peterson fizzled, while his counterpart, 49ers running back Carlos Hyde stole the show.
Minnesota actually had a chance to get on top early thanks to a blocked kick and fumble recovery on a muffed punt, but couldn't move the ball.
The tone was set for the rest of the game and it played out for all four quarters.
Here's a recap of the season opener:
SUNDAY SCHOOL (ON MONDAY)
-- Last week we questioned whether Adrian Peterson not carrying the ball in the preseason mattered and found that he never had a 100-yard game in the regular-season opener when he had 0 preseason carries. So perhaps it shouldn't have been unexpected that he didn't get 100 yards. The surprise, though, was just 10 carries for 31 yards.
-- How much was Peterson trusted in passing situations? When it was obvious Minnesota had to throw, he wasn't on the field. At the end of the first half, it was Matt Asiata in the backfield. With 9:30 remaining in the game and the Vikings needing to score quickly, Jerod McKinnon was in the game. Then on the next series, again Asiata, no Peterson.
-- Speaking of not being on the field, 2013 first-round draft pick Cordarrelle Patterson got just two offensive snaps. He caught one pass for one yard. Meanwhile, 2015 first-round draft pick Trae Waynes only played on special teams.
-- Newcomer Mike Wallace led the team with six receptions and Kyle Rudolph had five, but last year's breakout star Charles Johnson was held in check with only two catches. Running backs accounted for seven catches.
-- Blair Walsh's struggles continue. After making just 5 of 11 field-goal attempts in the preseason, Walsh missed his first try of the regular season, missing from 44 yards. He later made a 37-yarder.
-- About that rush defense. Carlos Hyde ripped through the Minnesota defense for 168 yards on 26 carries. And that's with the Vikings using personnel to stop the run.
-- DULY NOTED
-- San Francisco rushed for 230 yards. Minnesota had 248 yards total offense.
-- For those scoring at home, Peterson's first carry of the season came with 5:30 left in the first quarter on Minnesota's second drive.
-- The Vikings were just 1 of 9 on third-down conversions and 0 of 2 on fourth down conversions. In the series after recovering the muffed punt, Minnesota elected to go for it on 4th-and-3 in the first quarter, and Teddy Bridgewater had to check down to Rudolph with a pass shy of the chains.
-- Bridgewater obviously did not have a good game and his most questionable decision might have been on 3rd-and-6 in the fourth quarter when he threw into double coverage -- and out of the end zone -- forcing the Vikings to kick a field goal for their only points of the game.
-- OK, we have to ask: Did the 49ers steal the uniforms of the Ottawa Rough Riders?
WHAT IT MEANT
Certainly all the preseason love Minnesota was getting went in the tank quickly. The Vikings didn't look good in any phase of the game. That being said, it was just one game. A win next week would certainly quell the naysayers. A repeat performance though . . .
PLAYER OF THE GAME
In a 20-3 loss it is hard to find many silver linings, but linebacker Anthony Barr had 12 tackles (10 solo) and also batted down a pass. Yeah, it was one of those games.
DON'T FORGET ABOUT ME
Andrew Sendejo gave the Vikings some brief momentum when he jumped past a blocker and through a hole to block a first-quarter field-goal attempt. He also had a couple of hard hits. Again, yeah, it was one of those games.
Talk about a nail in the coffin, when Carlos Hyde scored from 17 yards out to make it 17-3 with 9:30 left in the game that all but sealed Minnesota's fate. The Vikings had trouble scoring once, forget twice. Going one step further, on that drive San Francisco had 3rd-and-14 and Colin Kaepernick and Vernon Davis connected on a 20-yard catch and run.
4. Number of carries Adrian Peterson had in the first half. He had never had fewer than five carries a first half in any game of his career.
THEY SAID IT
"This is not us." -- Minnesota running back Adrian Peterson
"What you all saw tonight was not a representation of the 2015 Vikings." -- Minnesota quarterback Teddy Bridgewater
"In the two years and 17 games I've been here, that did not look like the football team that I know." -- Minnesota head coach Mike Zimmer
"Maybe we're not ready for prime time yet." -- Zimmer
Minnesota will play its home opener against NFC North rival Detroit, which blew a 21-3 lead at San Diego in Week 1 in falling 33-28. Someone in the division will be 0-2, guaranteed.
Follow Dave Heller on Twitter