With a depleted defense and an offense that could not get going, the San Francisco 49ers (5-3) were snapped back to reality on Sunday, losing to the Houston Texans, 26-15 (3-4).
“They kicked our ass,” 49ers head coach Kyle Shanahan said after the game.
RB Christian McCaffrey called it “very important” that they do.
From the outset, the Texans dominated. The NFL’s 23rd-ranked offense, which was sputtering on its best days and downright awful on its worst, carved up the 49ers defense. QB C.J. Stroud finished his day 30-of-39 for 318 yards and two touchdowns.
“We got beat today. They kicked our ass… I hope the guys come in tomorrow with a chip on their shoulder.” Kyle Shanahan
— Tracy Sandler (@TracyFGSN) October 26, 2025
Meanwhile, the 49ers offense was ineffective (putting it nicely) and never could get into a flow.
“We left our young defense out to dry today,” said 49ers tight end George Kittle.
McCaffrey was held to *checks notes* eight carries for 25 yards on the ground. The Texans won the time of possession battle 41:22 to 18:38 and amassed 475 yards of total offense to the 49ers 223 yards.
“They held onto the ball as good as any team that I’ve been around,” Shanahan said after the game.
With 0:58 left in the second quarter, Houston was up, 16-0. Due to a long kick return from Brian Robinson Jr. and a penalty by the Texans, the 49ers were able to score a touchdown on a pass from Mac Jones to Kittle with 0:29 left in the half, cutting the lead to 16-7. As a side note, TE Jake Tonges also got a touchdown pass, so National Tight Ends Day wasn’t a total loss for San Francisco.
QB Mac Jones finished the day 19-of-32 for 293 yards, the two aforementioned touchdowns and an interception late in the game. The 49ers showed glimmers of a comeback, but the very tough Texans defense kept them stymied.
“I feel like every game we’ve played when I’m back there, we’ve had a chance,” Jones said. “Today, I just didn’t feel like we had a chance.”
CB Deommodore Lenoir quickly intercepted Stroud – snapping their 14-game interception drought – with 0:25 left in the half. Lenoir saw room to run and he did, but it was a misstep (no pun intended) not to get out of bounds.
“I should have slid,” Lenoir said. “I wasn’t aware how much time was left on the clock.”
The week 8 loss highlights the absences the 49ers have all over the field, particularly on defense. The 49ers are without DE Nick Bosa and LB Fred Warner for the remainder of the season. In addition, on Sunday, they were without defensive linemen Bryce Huff and Yetur Gross-Matos.
During the game, they lost DT Jordan Elliott (ankle), LB Dee Winters (knee) and DE Sam Okuayinonu. The long-term severity of those injuries is unknown, but there’s only so much next-man up a team can recover from.
“It’s definitely harder when we lose really good players,” Shanahan said. “But we’ve had that situation throughout this year. All I want us to do is play as good as we can play, and then you can deal with whatever.”
As a result of all the absences, the 49ers pass rush was basically MIA and registered two quarterback hits on the day.
“I thought we struggled to tackle,” Shanahan said. “Struggled to get a [pass] rush, thought we made too many mistakes in the secondary on some of our zone blitzes. Felt like it was challenge with man-to-man. So a little bit of everything.”
That’s not the little bit of everything they were looking for.
“We just played bad football,” Kittle said.
Next up, the 49ers head to New York to take on the Giants, before hosting the Los Angeles Rams in Week 10.

