The 49ers dominated the NFC championship game. They proved their 37-8 regular-season blowout of the Packers wasn’t a fluke as they bulldozed their way to a 37-20 victory to win the NFC and move on to Super Bowl LIV.
In a game as well-played as that one, it’s tough to find a lot of things that went profoundly wrong for the 49ers, but we tried to find some amid a bevy of things that went right. Here’s the good and the not-so-good from Sunday:
Good: Raheem Mostert

Kirby Lee-USA TODAY Sports
There wasn’t a better player on the field Sunday than Mostert. He had 160 rushing yards and three touchdowns at halftime. He finished the game with 220 yards on 29 carries to spearhead a 49ers rushing attack that rendered the Packers defense helpless. Mostert became the first player in NFL history with at least 200 yards and four touchdowns in a playoff game. Whether he was going outside and turning the corner, or working between the tackles, the 49ers’ running back was special in a historic way Sunday evening.
Bad: Jimmy Garoppolo’s pass attempt number

It’s impossible to say Garoppolo had a bad performance. He completed 75 percent of his throws and didn’t turn the ball over. In a game where the 49ers dominated so thoroughly though, we’re nitpicking a little. Garoppolo threw only eight passes all game, and went the entire third quarter and most of the fourth quarter without throwing it. He went 90 minutes of real time between passes. 6-of-8 for 77 yards is fine for a quarter. The 49ers will probably need more from their quarterback against the Chiefs in the Super Bowl.
Good: Emmanuel Moseley

Moseley got the start in place of Ahkello Witherspoon and came up with perhaps the biggest play of the game. Green Bay had the ball before the half down 20-0, and were set to receive the second-half kickoff. A score before the half and score after the half would’ve made the NFC championship game a lot tighter. Moseley ensured that didn’t happen when he jumped a route and intercepted Aaron Rodgers with just over a minute left in the half. His return got the 49ers to the Packers’ 30, and they capitalized with a touchdown to take a commanding 27-0 lead into the half. Moseley has been a revelation this season and may have worked his way into the team’s long-term plans after coming in a season ago as an undrafted rookie.
Bad: George Kittle’s receiving numbers

Again with the nitpicking. Kittle had an objectively stellar game Sunday. His blocking on the edge was a huge reason San Francisco churned out 285 yards on 42 carries. The disappearance of the 49ers’ passing game meant another slow day through the air for Kittle. He caught one ball for 15 yards, bringing his postseason total to 31 yards on four catches. The All-Pro tight end isn’t shy about his love of blocking, but the 49ers offense is at its peak when he’s making plays as a pass catcher.
Good: Pass rush

The 49ers pass rush did a nice job most of the day Sunday. They sacked Rodgers three times and forced him off his spot to make off-schedule plays. Rodgers is an all-time great quarterback who came up with a couple completions on rollouts and off-balance throws, but he spent most of the game connecting on short throws. The Packers are most effective when they’re getting the ball down the field, and save for two long completions, Rodgers didn’t have time to let those long throws develop thanks to a strong day for the 49ers’ pass rush.
Bad: Injury bug bites again

Tevin Coleman got tripped up in the second quarter and tried to catch his fall with his right arm. It looked awkward live, and he wound up staying on the ground for several minutes before getting on a cart and riding into the locker room. The team officially ruled him out with a shoulder injury at halftime. Coleman was just getting rolling again after a slow end to the year. He had 126 yards on 27 carries in his two games. His status for the Super Bowl is still unknown.
Good: Robbie Gould

A shaky regular season in which he missed a career-worst eight field goals and an extra point hasn’t bothered Gould in the postseason. He drilled kicks of 54, 27 and 42 yards to help lift the 49ers to victory. His 54-yard bomb to open the second quarter was his first make from 50-plus yards this season, and a 49ers franchise record. These games are the reason San Francisco wanted Gould back and gave him a long-term extension, and he’s been perfect so far in the playoffs.
Good: Offensive line
Kyle Terada-USA TODAY SportsIt’s impossible to credit the 49ers’ run game without crediting the offensive line. They were sensational Sunday afternoon. Mostert did a nice job finding holes, but the offensive line cleared the way for him to go untouched into the second level on what seemed like all of his 29 carries. Head coach Kyle Shanahan’s scheme only works if the players execute, and San Francisco’s offensive line owned the line of scrimmage for 60 minutes.