Rookie Trey Lance threw two touchdown passes in the second half of his second career start, and the San Francisco 49ers closed in on a playoff berth with a 23-7 victory over the Houston Texans on Sunday.
Lance got the nod for the 49ers (9-7) for the first time since Week 5 with Jimmy Garoppolo sidelined by a thumb injury and overcame an interception in the first half to lead San Francisco to the win.
The Niners can clinch their second playoff berth in five seasons under coach Kyle Shanahan with one loss by New Orleans or a win next week against the Rams.
The Texans (4-12) struggled to get much of anything going offensively and failed in their attempt at their first three-game winning streak since 2018.
Davis Mills went 21 for 32 for 163 yards, one touchdown and one interception, and Houston was held to 222 yards on offense.
Lance fared much better against lesser competition in his second start than he did in a 17-10 loss to Arizona in October.
He went 16 for 23 for 249 yards with his biggest play coming in the fourth quarter when he rolled right and then threw deep over the middle to Deebo Samuel, who caught it for a 45-yard touchdown that put the Niners up 17-7.
The game shifted in the third quarter with a couple of big plays — and calls — for the 49ers.
It started when Marcell Harris intercepted a pass from Mills. Harris appeared to lose the ball on a fumble, but officials ruled that his forward progress was stopped.
On the next play, Terrance Mitchell was called for a 37-yard pass-interference penalty against Brandon Aiyuk to set up the Niners in the red zone. Lance finished the drive with an 8-yard TD pass to Elijah Mitchell to give San Francisco a 10-7 lead.
The Texans had two pass-interference calls go their way early in the fourth quarter to get into the red zone, but a sack on third down by Samson Ebukam and then a missed 45-yard field goal by Ka'imi Fairbairn kept San Francisco ahead 10-7.
The Texans were stagnant for most of the first half before Desmond King intercepted a pass from Lance in the second quarter.
Lance threw to George Kittle in coverage instead of an open Samuel for his second interception of the season.
The Texans, who had only one first down on their first four drives, moved the ball 80 yards by converting four third downs, taking a 7-0 lead on Mills' 8-yard TD pass to Brandin Cooks.
Mills was 3 for 3 for 47 yards and the TD on third down on that drive.
Shanahan got aggressive at the end of the first half and the move paid off. San Francisco took over at its 25 with 38 seconds left and no timeouts.
But Lance completed three passes for 56 yards to set up Robbie Gould's 37-yard field goal on the final play of the half.
Houston S Jonathan Owens (wrist), DL Jonathan Greenard (shoulder) and DB Grayland Arnold (ankle) were hurt.
Texans: Host Tennessee on Sunday.
49ers: Visit the Los Angeles Rams on Sunday.