Programming note: Watch Monday’s 49ers press conference with head coach Jim Harbaugh live on CSN Bay Area and streaming live online right here at 12pm
What you need to know: Running back Frank Gore was visibly upset.
The 49ers, a team that generally has gone about as far as Gore takes them, could not get anything going on the ground Sunday against the Arizona Cardinals, owners of the NFL’s top-ranked run defense.
After a miserable day that included just 14 yards rushing, Gore could not get dressed and get home quick enough after the 49ers wrapped up the season with a 23-20 victory over the Cardinals. The 49ers head into the postseason with a season-long six-game winning streak.
What the 49ers lacked from their frustrated running game, they found on the arm of quarterback Colin Kaepernick.
Kaepernick threw for 310 yards and two touchdowns. And wide receiver Anquan Boldin looked like the player who got hot in the postseason a year ago to help lead the Baltimore Ravens to the victory over the 49ers in Super Bowl XLVII.
Boldin, acquired in an offseason trade, sees some connections between his team of last season and the one that will open the playoffs on Sunday as an NFC wild-card team -- the No. 5 seed -- against the NFC North champion Green Bay Packers.
“There are similarities with losing guys, having guys come back, winning, having a couple of losses and then hitting a stride at the end of the season,” Boldin said. “In that fashion, it does feel similar. But we are a completely different team.
“I think we are a team that is built for anything. We weathered the storm. We had ups and downs. Right now, I think we are playing pretty tough football.”
The 49ers opened aggressively, building a 17-0- lead in the first quarter with Boldin playing a starring role in his first game in Arizona since being shipped to Baltimore in 2010 trade.
“G-Ro came to me and told me he was going to do that, that he was going to come to me and get us going,” Boldin said, referring to 49ers offensive coordinator Greg Roman.
Boldin caught back-to-back passes for 8 yards to open the game. On the third play, he took a pitch on a reverse for 11 yards. He finished the game with nine receptions for 149 yards and a touchdown.
Tight end Vernon added a touchdown reception, his 13th of the season, but had just three catches for 45 yards. Wide receiver Michael Crabtree was also kept in check with three catches for 29 yards.
The acquisition of Boldin was huge for the 49ers. Crabtree was unavailable for the first 11 games after undergoing surgery in May to repair to torn Achilles.
Boldin responded this season with 85 receptions for 1,179 yards and seven touchdowns. It was the most yards for a 49ers receiver in a season since Terrell Owens had 1,300 yards in 2002.
“I was brought here to assist Crabtree,” Boldin said. “We all know this is his team. He is the No. 1 receiver here. I was brought in here to help him out.”
The 49ers got some help Sunday from another wide receiver.
Rookie Quinton Patton, who is the No. 3 wide receiver after Mario Manningham was placed on injured reserve, came up with a 29-yard reception with a leaping grab over Cardinals cornerback Antoine Cason to set up Phil Dawson’s 40-yard field goal as time expired.
“Quinton went up and battled,” 49ers coach Jim Harbaugh said. “The corner had really good leverage. I thought Quinton did a nice job jumping and securing the catch coming in (and showed) presence of mind to come in inbounds.”
Said Patton, “My natural instincts was to just go get the ball.”
Kaepernick gained 24 yards rushing on four attempts, and Patton picked up 26 yards on a reverse. They accounted for 50 of the 49ers’ 83 rushing yards.
But it was the passing game that did most of the damage on Sunday.
“I think we showed a lot of different things in the first quarter and throughout the game,” Kaepernick said. “Hopefully, we’re putting things on film that people are a little worried about.”
Back on track: Dawson’s team-record streak of 27 consecutive field goals came to an end when he hooked a 24-yard attempt to the left to close the first half. But he started a new streak in impressive fashion when the 49ers needed it most.
Dawson booted a 56-yard field goal to give the 49ers a 20-17 lead 1:45 remaining in regulation. Then, he nailed a 40-yarder as time expired to supply the winning points.
“You live and learn on every kick, whether you make them or miss them,” said Dawson, who did not blame the miss on the fact the laces were facing him on the kick. “I just missed the earlier one, tried to look at what I did wrong and applied those to future kicks. And I’m just glad it came down to the end where I could make one that helped our team win.”
Passing concerns: The 49ers gave up 755 yards passing to Atlanta’s Matt Ryan and Arizona’s Carson Palmer in the final two games of the season. On Sunday, Palmer completed 28 of 49 passes for 407 yards with two touchdowns and one interception.
Cornerback Carlos Rogers said it’s a good warmup act for facing Green Bay’s Aaron Rodgers.
“It’s a good primer,” Rogers said, “but it’s a bigger challenge. We’ve been faced with a lot of good quarterbacks. We beat them before.”
Rogers sustained a right hamstring strain with one minute remaining while pursuing Larry Fitzgerald on a 23-yard gain. Rogers, who is likely to undergo an MRI examination on Monday, expressed optimism after the game that he will be all right.
“It’s not hurting me,” Rogers said. “We’ll see. Hopefully, it’s not that bad.”
The 49ers’ pass rush did not get steady pressure on Palmer, who was sacked just one time for 8 yards. On Monday, the 49ers sacked Ryan just once, and he completed 37 of 48 passes for 348 yards in the 49ers’ 34-24 victory.
Staley on the spot: Pro Bowl left tackle Joe Staley, who was recruited to Central Michigan as a tight end, made his second career reception in the second quarter with a 14-yard catch. “That was nice,” Harbaugh said.
“We’ve been working on that for several weeks, and called it at a very nice time. Joe has been good on those in the past, and he came through again.”
Staley lined up at left tackle but was eligible as the last person on the 49ers’ line. At the snap, he was in pass protection against defensive end John Abraham before releasing into a pattern.
“We have a lot of plays in our offense, different stuff that’s in,” Staley said. “We rep it for a long time and pick a good opportunity to run it.”
--Before Patton’s leaping grab helped set up Dawson’s winning field goal, 49ers kickoff returner LaMichael James put the 49ers in position to win in regulation with a 41-yard return from 5 yards deep in the end zone to the 49ers’ 36-yard line.
--Defensive lineman Justin Smith was called for a rare delay-of-game penalty on defense to move the Cardinals 5 yards closer before Jay Feely’s 43-yard field goal with :29 seconds remaining to tie the score at 20-20. It was ruled Smith feigned jumping offside for the sole purpose of getting the Cardinals line to false start.
--Harbaugh’s record on reviews drop to 2-for-8 on the season when he challenged the spot on fullback Anthony Dixon's fourth-down run play in the third quarter from the Cardinals 16-yard line.
--Vernon Davis (5,201) passed Brent Jones (5,195) for the most career receiving yards by a tight end in 49ers history. He also moved into seventh place on the 49ers all-time receiving yards list. Davis tied a career high with his 13th touchdown reception. With 53 career touchdown catches, Davis is now tied with Dallas Clark for sixth in NFL history for the most TDs by a tight end.
--Kaepernick finished the season with 524 yards rushing on the season to finish No. 2 in 49ers history for yards rushing by a quarterback. Steve Young gained 537 yards in 1992. Kaepernick finished the season with 21 touchdown passes, the most from a 49ers quarterback since Jeff Garcia had 21 TDs throws in 2002. (Garcia had 32 touchdown passes in 2001).
--The 49ers scored 129 points off of turnovers this season, the third-most by the team since 1986.
--In being held to 14 yards on 13 rushing attempts, Gore came up 33 yards shy of becoming the 29th player in NFL history with 10,000 yards rushing. On Sunday, Gore was held to his fewest yards on at least 10 rushing attempts since he gained 11 yards on 11 carries in 2008 against the New York Giants.
Quote of the day: “It’s the last game of the season, so I’m going to say yes. The reason why is that me and Pat (Willis) do so much and work so hard to be the best and lead our team. That’s all we’ve been doing, and I just think that’s what you want in a Defensive Player of the Year, so that’s why I think I deserve it.”
--NaVorro Bowman on whether he should be in the conversation for NFL Defensive Player of the Year. Bowman recorded a sack, interception, forced fumble, fumble recovery and 10 tackles.
Looking ahead: For the second season in a row, the 49ers will open both the regular season and playoffs against the Packers. The 49ers (12-4) have a better record than the Packers (8-7-1), but as a wild-card team, they will travel to Lambeau Field to open the playoffs on Sunday at 1:40 p.m. (PT). “At this point, you don’t care who you play,” Boldin said. “You’re happy to be in the playoffs. You look forward to whoever you have to play. At this point all teams are good. If not, they wouldn’t be in the playoffs.”