SANTA CLARA – Coach Kyle Shanahan’s final message to his team is that they were going to have to earn it on Sunday.
Just because the 49ers thrashed the Green Bay Packers earlier in the season, it did not mean that a win in the NFC Championship Game would come easy.
It did. But it didn’t.
The 49ers are moving onto Super Bowl LIV with a 37-20 victory over the Packers on Sunday at Levi’s Stadium.
“That's one thing that's really cool about the NFL, nothing's given,” Shanahan said. “And I told the guys how proud I was that they had earned the right to be in a game to play for the Super Bowl. Regardless of what was going to happen, though, and what got us up to this point, that we were going to have to go out today and earn the right to go to the Super Bowl.
“And no one was going to give it to us. Those guys came out with that mindset from the first play on. They were relentless. I know we're going to enjoy tonight. But we're going to be ready to carry it over to Miami, too.”
But, first, let’s take a look at how all the different areas of the 49ers performed in their victory over the Packers:
What’s the highest-allowable grade? Whatever it is, that’s what the 49ers should get for this performance.
Running back Raheem Mostert rushed for a franchise-record 220 yards and four touchdowns on 29 rushing attempts. The offensive line was phenomenal. The 49ers did not even need to throw the ball.
Starter Tevin Coleman went down in the first half with a shoulder injury, and that was a tough blow. Mostert rarely came off the field for the remainder of the game. Wide receiver Deebo Samuel added 43 yards rushing on two attempts.
The 49ers averaged 6.8 yards per rushing attempt. And that includes Jimmy Garoppolo’s three kneeldowns for minus-3 yards to run out the clock at the end.
Quarterback Jimmy Garoppolo posted a passer rating of 104.7. That’s pretty good, right?
Sure, it's fine. But the crazy thing is that Garoppolo attempted just eight passes in the game -- the fewest pass attempts in championship game history. And Garoppolo was just fine with it. He completed six of his attempts for 77 yards. Samuel had two catches for 46 yards. And tight end George Kittle had just one reception for 19 yards.
Nobody is complaining about the lack of production from the passing game because the passing game did about all that was asked of it.
The 49ers’ run defense did a good enough job against running back Aaron Jones to keep the Packers’ offense in mostly third-and-long situations in the first half. The 49ers raced out to a 27-0 lead after one half.
Jones finished with 56 yards on 12 rushing attempts, but his 4.7-yard average looks a lot better than it was in real life.
Aaron Rodgers had just 65 yards passing in the first half, as the 49ers bolted to a commanding lead. The Packers had only 42 net yards passing, as Nick Bosa had a sack. K’Waun Williams also came up with sack of a blitz in the first half.
Rodgers ended up with some pretty big numbers. He completed 31 of 39 pass attempts for 326 yards with two touchdowns and two interceptions. The 49ers certainly gave up more big plays that they would like in the second half.
Cornerback Emmanuel Moseley, making the start over Ahkello Witherspoon, had an interception right before halftime that led to a touchdown. And Richard Sherman came up with a pick at the end the game to clinch it.
After a rough start to the season, Robbie Gould and the kicking game is coming on strong at the right time. Gould helped get the 49ers off to a great start when he nailed a 54-yard field goal to extend the lead to 10-0 on the first play of the second quarter.
Gould made all three of his field-goal attempts, including the clincher from 42-yard out with 3:31 remaining.
Richie James provided a big play in the kicking game with a 26-yard return to provide the 49ers with good field position. The 49ers cashed in with a field goal. Mitch Wishnowsky had a 38.5 net average with no return yards and one punt downed at the 8-yard line.
[RELATED: Ford can't wait to face Chiefs]
The 49ers played a bunch of down-to-the-wire games to finish the regular season. In comparison, the playoffs have been easy with 17-point victories over the Minnesota Vikings in the divisional round and, now, over the Packers.
Shanahan has pushed all the right buttons, including his decision to call for a run play on a third-and-8 situation in a scoreless game in the first quarter. Mostert and the offensive line came through with a 36-yard touchdown run.
The run game certainly led the way, but this was another team effort that leads the 49ers to Miami.
Programming note: NBC Sports Bay Area feeds your hunger for 49ers Super Bowl coverage with special editions of “49ers Central” all week (5:30 p.m. Monday and Wednesday; 8:00 p.m. Tuesday and Thursday; 6:00 p.m. Friday)