Colin Kaepernick used arm and his legs to beat the Packers.
There were several momentum shifts throughout the game, but the 49ers' ability to control the ball on offense allowed them to prevail. The 49ers rolled up 579 yards of offense and held the ball for roughly 38 minutes, compared to Green Bay's 352 yards and about 22 minutes of possession time.
Several players stood out in this game—some good, and some not so good.
Let's take a look at some of the 49ers' winners and losers from this divisional round playoff game.
Billy Cundiff missed a short kick in the 2012 AFC title game which cost the Ravens a chance to go to the Super Bowl.
The 49ers brought in Billy Cundiff over the bye week to compete with David Akers for the 49ers' place-kicking duties. Apparently, he was not an upgrade over Akers, who had struggled this year.
Although Cundiff is still on the 49ers' roster, he was inactive for the game against Green Bay. Akers made his only field-goal attempt, as well as all six of his extra-point tries.
Akers also was solid on kickoffs, booting the ball into the end zone. He did nothing to lose his job, so although Cundiff remains on the roster, it appears Akers will retain the job as the 49ers advance to the NFC championship game.
C.J. Spillman is a leader of the 49ers special teams.
C.J. Spillman is the 49ers' special teams captain and a leader of the unit. He made two big plays to help the 49ers on Saturday night.
The first came with the 49ers trailing 14-7 and punting the ball back to the Packers. Punt returner Jeremy Ross had the ball slide right through his arms and muffed the catch. Before Ross could grab the loose football, Spillman dove on it.
Spillman's play gave the 49ers the ball deep in Green Bay territory. The 49ers' offense would capitalize with a Colin Kaepernick to Michael Crabtree touchdown.
Spillman's next big play came in the third quarter. Andy Lee hit a 52-yard punt to Randall Cobb, who was looking for a return. Spillman was right there and with perfect timing upended Cobb for no gain at the Packers' 11-yard line.
A.J. Jenkins made no impact on the game.
The 49ers' top draft pick in 2012 again made no impact in the game. Despite expectations that rookie A.J. Jenkins might play a bigger role in the game against the Packers, he did nothing.
Jenkins still has no receptions on the year.
Justin Smith played through his injury.
Justin Smith played the entire game for the 49ers' defense. He sported a brace on his injured left arm, but seemed to be able to use the arm without favoring it too much.
Smith's mere presence uplifted the 49ers' defense. Although Green Bay scored 31 points, only 17 of those came against the defense when it mattered.
The Packers got a defensive touchdown on the fifth play of the game when Sam Shields intercepted a Colin Kaepernick pass and took it 52 yards for a touchdown.
In addition, with the score 45-24 late in the fourth quarter, Green Bay scored a final touchdown to close the final margin to 14 points.
Smith had five tackles, which was tops among defensive linemen. Although statistically, Smith was solid, but unspectacular, his ability to play gave the 49ers a big lift.
Donte Whitner was named to the Pro Bowl as the starting strong safety.
Donte Whitner is having a fine season and was named a starter in the Pro Bowl. Even after the great regular season, he did not have a particularly good game against the Packers.
Late in the first quarter, with the score tied, 7-7, Packers' running back DuJuan Harris burst through the line. Whitner had a chance to bring him down for a modest gain. He missed Harris, who raced into the end zone to give the Packers a 14-7 lead.
Whitner was also victimized in the second quarter with the 49ers ahead, 21-14. Green Bay quarterback Aaron Rodgers found James Jones for a 20-yard touchdown pass, as Whitner was too slow to slide over to disrupt the play.
Whitner had two solo tackles and two assists for the game, but his two errors resulted in Green Bay touchdowns.
Frank Gore had a big game against the Packers.
Frank Gore made a big impact on the game and helped the 49ers secure their 45-31 win over the Packers. The week off helped Gore, who looked rested and much fresher than he did in the playoffs last year.
Gore's first big contribution came with the 49ers trailing, 7-0. 49ers' quarterback Colin Kaepernick was flushed out of the pocket and started to run left. Before he crossed the line, he tossed a short pass to Gore, who took it 45 yards to the Green Bay 22-yard line.
Gore's reception set up the 49ers' first touchdown, a 20-yard run by Kaepernick.
Gore was very effective Saturday night. He finished with 119 yards on 23 carries. He also scored on a two-yard run early in the fourth quarter, which gave the 49ers a 38-24 lead.
Gore added two receptions for 48 yards and contributed in the passing game with his stellar blocking.
Chris Culliver had a poor game.
Chris Culliver has a strong tendency to trash-talk during the game. He plays on the edge and sometimes crosses it, resulting in penalties and dumb plays.
A big Ted Ginn punt return would have given the 49ers the ball near midfield. However, Culliver was flagged for a holding penalty, pushing the ball back inside the 20-yard line. Although it was only a 10-yard penalty, it cost the 49ers 33 yards in field position.
On the Packers' next possession, on a third-and-five play, Aaron Rodgers found James Jones for a leaping 44-yard catch over Culliver. Jones was able to get behind Culliver and Rodgers' throw was high, enabling Jones to go up over Culliver to make the grab.
Culliver was also penalized for pass interference, giving Green Bay 14 yards and a first down. This did not cost the 49ers any points, as Tarell Brown intercepted a Rodgers pass three plays later.
Culliver needs to stay more focused on his assignments, less on trash-talking.
Michael Crabtree had a strong game in the 49ers' win over Green Bay.
Michael Crabtree has emerged as a true No. 1 receiver. He is doing a fine job getting open, catching the ball and running for significant yards after the catch (YAC).
Against the Packers, Crabtree was again Colin Kaepernick's go-to receiver. Crabtree caught nine passes for 119 yards and two touchdowns.
What was also great to see was the professionalism Crabtree showed, something not so evident earlier in his career. After his catches, he did not prance around in the diva, look-at-me mode.
Crabtree has matured as a player and a person. He is unquestionably the 49ers' biggest threat in the passing attack.
This Walker reception was ruled incomplete as landed out of bounds.
Delanie Walker had one reception for 17 yards against the Packers. However, he should have had a lot more.
Walker missed three passes, all of which he should have caught. It appeared that Walker was not ready for the velocity Kaepernick puts on his throws, as the passes simply clanked off his hands.
Walker easily could have had at least four receptions and a much more positive impact on the game.
Colin Kaepernick runs for a score.
Colin Kaepernick had an up-and-down game in his first playoff start.
Kaepernick's early interception was a bad throw, which came when he was flushed out of the pocket. He tried to force the ball to Vernon Davis, but the throw was late and off target. The poor decision resulted in an interception by Sam Shields, who took it back 52 yards for a touchdown.
However, Kaepernick regrouped and led the 49ers on a game-tying drive.
During the course of the game, Kaepernick missed an open Michael Crabtree, Randy Moss and Ted Ginn on deep throws.
Kaepernick made up for that with several good throws, resulting in him going 17-of-31 for 263 yards and two touchdowns.
On the negative side of the ledger, Kaepernick was flagged for an unsportsmanlike conduct penalty for taunting a Green Bay player after a 15-yard run.
Kaepernick generally made good decisions with the ball, throwing when receivers were open and running when he saw a hole. Kaepernick set an NFL record with 181 rushing yards.
Kaepernick ran for two touchdowns. The first rushing TD was on a 20-yard scramble in the first quarter, which tied the score, 7-7. In the third quarter, Kaepernick made his signature play of the game.
Green Bay had just tied the score at 24-24, when Kaepernick saw an opening and took off from the San Francisco 48-yard line. He flew past Green Bay defenders and sprinted 52-yards for a touchdown. This gave the 49ers a 31-24 lead, which they never relinquished.
Kaepernick had a roller-coaster game, but he came through when it mattered. He could easily have folded after the pick-six interception in the first quarter. Instead, he remained calm and focused, and brought the 49ers back.
This game showed the doubters why 49ers' head coach Jim Harbaugh chose to go with Kaepernick over Alex Smith. Some of the passes and runs Kaepernick is able to make are not possible from Smith.
This is not a knock on Smith, because he took the 49ers to the NFC title game last season and was having a very good 2012 prior to his concussion.
It is, however, a ringing endorsement of the faith Harbaugh showed in Kaepernick as the 49ers' starter.