SANTA CLARA -- Rookie quarterback Trey Lance had more on his shoulders than anyone else in the 49ers’ Week 17 game against the Houston Texans.
But he certainly was not alone.
Lance rallied in the second half and the 49ers pulled away for a 23-7 victory over the Texans at Levi’s Stadium.
The win keeps the 49ers (9-7) in control of their own playoff destiny as they enter their regular-season finale against the NFC West-leading Los Angeles Rams.
Lance had plenty of support from the running game, the team’s defense and the game plans on both sides of the ball.
Here is the 49ers’ report card:
Rookie running back Elijah Mitchell made a triumphant return to the lineup after being sidelined for the past three games with concussion and knee issues. He gained 119 yards on 21 rushing attempts.
Mitchell took over for Jeff Wilson Jr., who did not have any rushing attempts in the game. Things did not get off to a great start for Mitchell, as he was stopped for a 3-yard loss on a fourth-and-1 play. But he heated up in the second half as the 49ers’ offense found its groove.
Deebo Samuel found things a lot more difficult, as he gained just 19 yards on seven rushes. Lance added 31 yards on eight rushing attempts.
Lance, making his second NFL start and his first at Levi’s Stadium, made one mistake that led directly to the Texans’ only points of the game.
He ran an effective last-minute offense at the end of the second quarter to get the 49ers on the scoreboard before halftime. Then, he carried that momentum into the second half.
Lance completed 16 of 23 pass attempts for 249 yards with two touchdown passes and one interception. His passer rating was 116.0.
“I think he did some real good things,” 49ers coach Kyle Shanahan said of Lance. “Other than the bad interception, he protected the ball real well.”
Wide receiver Brandon Aiyuk led the team with four catches for 94 yards. He also drew a key 37-yard pass-interference penalty.
Samuel had a 45-yard touchdown catch that sealed the win. Lance found Mitchell for an 8-yard touchdown in the third quarter to give the 49ers their first lead of the game.
The offensive line generally gave Lance enough time to make plays down the field. He was sacked once for 8 yards.
The 49ers’ run defense has been one of the most consistent aspects of the team this season. Again, the 49ers held the opposition in the low-3s for rushing average per attempt.
Texans top running back, Rex Burkhead, managed just 47 yards on 16 carries for a 2.9-yard average.
Defensive tackle Arik Armstead had a huge game, as he controlled the interior of the line. He registered eight tackles.
Linebackers Fred Warner and Marcell Harris had 15 and 10 tackles, respectively.
The 49ers’ pass defense had one rough patch in the second quarter when it could not stop the Texans on third downs.
That stretch ended with Davis Mills’ 8-yard touchdown pass to Brandin Cooks. Other than that sequence and back-to-back pass-interference penalties, the pass defense was outstanding.
Harris had a third-quarter interception that led to the 49ers’ first touchdown of the game.
Mills completed 21 of 32 pass attempts for 163 yards with one touchdown and one interception and a passer rating of 75.4.
Josh Norman was called for a pass-interference penalty, which prompted the 49ers to bench him. Dontae Johnson took over and was called for a pass-interference infraction on the next play. He later made up for it with a broken up pass on a fourth-down play.
Kicker Robbie Gould made three field goals and both extra points and also did a good job on kickoff duty.
The 49ers’ average starting point was the their own 30-yard line, 5 yards better than the Texans’ average starting spot.
Mark Nzeocha made a mark in his return to the team with two tackles on special teams.
Punter Mitch Wishnowsky returned from the reserve/COVID-19 list and had a less-than-impressive 34.0 net average.
The offense got off to a rough start, but things picked up with an expertly executed sequence at the end of the first half that resulted in a field goal with no time left in the second quarter.
Coach Kyle Shanahan pushed the right buttons in the second half. Lance had time to throw. He had open receivers, too. The 49ers mixed in the play-action passing game with a strong ground attack in the second half to take control.
Defensive coordinator DeMeco Ryans called a strong game and did not leave many openings for the Texans to find success running or passing.
The 49ers turned to Lance in the most critical of situations, and he delivered.
This was one of those games that the 49ers just needed to find a way to win.
It was tenuous for a while, but the 49ers did enough to weather a rough half of offensive football before pulling away.
The 49ers probably could not have beaten a lot of teams with their overall offensive performance on Sunday.
All they had to do was beat the Texans. And that’s exactly what they did.