In the post-game locker room speech, 49ers’ head coach Kyle Shanahan expressed to his team that “the team that was going to rush 30 times was going to win.” Well, the 49ers had 47 rushing attempts, and the Vikings had 10. That should tell you who won the game, without knowing anything else.
Despite a large disparity in the rushing totals, San Francisco’s offense came out of the gates firing with passes from quarterback Jimmy Garoppolo based on the Vikings’ initial defensive game plan.
San Francisco went 61 yards on eight plays and finished it off with a touchdown throw to wideout Kendrick Bourne. Mike Zimmer’s defense came out of the gate with a single-high safety, loading the box, forcing the 49ers to throw and beat them through the air. After that dominant opening possession, Zimmer backed off, dropping into a two-deep shell primarily, forcing the 49ers’ hand in running the football.
Let’s look at how Shanahan and Garoppolo sliced and diced the Vikings’ pass defense on the opening drive — the key that set up the rushing attack as the game went on. The 49ers’ offensive genius used pre-snap motions — one of his signature traits — to clear defenders out of certain zones and throw into those recently vacated zones. They also went right after corner Xavier Rhodes — who’s the weakest corner on the Vikings’ defense and has struggled to stay up with quicker receivers.
In the opening play, watch out Garoppolo motions full back Kyle Juszczyk and then running back Tevin Coleman. When the two motion, watch how the Vikings’ linebackers adjust accordingly and slide to the defensive right side of the field.
Safety Harrison Smith drops back deep, and now suddenly, there’s a vacant zone where the linebackers are lined up (in blue). Wideout Deebo Samuel runs a quick slant right into that zone, and Garoppolo has an easy pitch and catch. With a simple pre-snap motion, Shanahan can clear up a certain spot of the field and then throw right into that spot.
#49ers' Kyle Shanahan diced up the #Vikings' single-high look on the opening drive -- which helped them run the ball later.— Akash Anavarathan (@akashanav) January 12, 2020
SF motions Juszczyk and Coleman. Watch how the MIN defenders (in blue) move. Samuel runs a quick slant in the vacant zone and it's an easy throw/catch. pic.twitter.com/5AMDgxzkFt
On this play, watch how there’s a single-high safety lined up nearly 20 yards from the line of scrimmage. There are two linebackers in the middle of the field and watch how they slide when the 49ers motion running back Tevin Coleman.
As Coleman motions left, the two linebackers follow, clearing up a zone for wideout Emmanuel Sanders to run a quick slant right into that open spot in the field. They take the snap, the linebackers slide, and Sanders gets open easily on the quick slant, and it’s an easy throw for Garoppolo to make.
More of the same on the next play. Garoppolo motions Coleman to the left, watch the linebacker (in blue) follow Coleman.— Akash Anavarathan (@akashanav) January 12, 2020
With Harrison Smith deep in the middle, Sanders is able to release quickly in the vacant zone where the LB was. Easy throw for Garoppolo and it's a 1st down. pic.twitter.com/G1v8ydXLpt
Now in the red zone, the 49ers have less room to work with — but that doesn’t stop Shanahan from clearing out certain defensive zones. Shanahan sends Samuel on a deep motion behind the quarterback and watches how the linebacker (in blue) reacts to the motion.
Harrison Smith, who’s covering tight end George Kittle, gets slightly wide when Kittle runs out, and that allows Kittle to cut back to the middle of the field. Due to the pre-snap motion, the linebacker is no longer in the middle of the field, and Garoppolo has a high-percentage throw to his best receiver.
Now in the RZ, there's less space to work with. Garoppolo sands Samuel on a deep motion and watch how the LB (in blue) follows Samuel.— Akash Anavarathan (@akashanav) January 12, 2020
Smith guards Kittle in the slot -- but gets a bit wide. When Kittle cuts inside, he's open again because of the vacant zone left by the LB. pic.twitter.com/S21SJC3AF7
Inside the 10-yard line, the 49ers open up with three receivers to the left side of the formation, bunching up a lot of Vikings’ defenders in that zone. Sanders motions before the snap from left to right, and a Minnesota corner follows.
After the snap, Kittle comes left to right, fakes a route, and ends up blocking the edge, which just moves another Minnesota defender from left to right.
On the left side of the field, that only leaves wideout Kendrick Bourne one-on-one against a Vikings’ corner. Bourne can beat him on a quick slant, and Garoppolo hits him in the back of the end zone for six.
SF opens up with 3 WRs on the left -- but motion Sanders left and watch how the MIN defender follows.— Akash Anavarathan (@akashanav) January 12, 2020
After the snap, Kittle comes left to right and blocks the edge and the MIN defender follows Kittle. Bourne runs right behind the vacant zone where the MIN defenders left. Tuddy. pic.twitter.com/ETxHnXGyzY
Shanahan installed a game plan right out of the gate that dismantled the Vikings’ single-high look and moved the opposing defenders like pieces on a chessboard.
Eventually, Zimmer realized that he could not continue to use a single-high safety because Garoppolo was going to shred that relentlessly. They moved two safeties back to protect from the passing game — which meant that they just handed the ball off to the running backs.
49ers came out swinging on the opening drive and altered the defensive game plan, putting the opponent on their heels.