The 49ers rushed for 159 yards on Sunday, which for a Kyle Shanahan-run offense usually means the passing game flourished as well.
Not this time.
Quarterback Brian Hoyer and his receivers never got rolling and the 49ers couldn’t quite topple the Seattle Seahawks, who have dominated the matchups in recent years but needed a late Russell Wilson touchdown pass to sneak away with a 12-9 victory.
Two-touchdown underdogs entering the game, the 49ers had the famously fearsome Seattle crowd grumbling during long stretches of Sunday’s contest. But dropped passes, a bad interception by Hoyer and a lack of explosive plays kept San Francisco out of the end zone for the second consecutive game.
The 49ers’ longest pass play was a 14-yard gain by tight end George Kittle. Starting wideouts Pierre Garcon and Marquise Goodwin each finished with 26 receiving yards. The only other receiver to catch a pass was Trent Taylor. He had one catch for six yards.
“I think it looked like he struggled out there,” the 49ers’ coach said when asked about Hoyer. “… Obviously we did not do a good job in the passing game.”
The 49ers squandered another solid outing by their rebuilt defense and one of the strongest rushing efforts of Carlos Hyde’s career. He finished with 124 yards, including a career-high 61-yard scamper in the second quarter. The bulk of Hyde’s yards came on runs to the left behind tackle Joe Staley and guard Laken Tomlinson, who was playing in his first game with the 49ers.
“The fight. That’s what I take away,” Hyde said afterward. “... I’ve played against these guys a bunch of times and they’ve whipped us before. But we came in with a different mentality.”
A 49ers defense that had no sacks in a Week 1 loss to Carolina had three against Wilson, along with three other quarterback hits. The 49ers led 9-6 midway through the fourth quarter and, during a stretch in the second and third quarters, forced six punts in a row.
At one point San Francisco’s defense had the Seattle crowd booing its own offense.
“It was picked up on,” linebacker NaVorro Bowman said of the crowd’s discontent. “They’re used to (the Seahawks) taking over the game and their offense having success and feeding off their crowd. That’s why I feel like we did come to play. The effort was there. Just a little bit more and we would have gotten a ‘W’ today.”
Seattle’s defense, however, forced seven punts of its own and also intercepted Hoyer when his short pass over the middle to Hyde was grabbed instead by linebacker Bobby Wagner, the second time Hoyer has been fooled by an inside linebacker in as many weeks.
“That cost us three points, and I know it’s one (Hoyer) would like to have back,” Shanahan said.
Hoyer completed 55 percent of his passes and finished with a 48.2 passer rating. The offense’s struggles led to a lopsided time-of-possession battle in Seattle’s favor – 36:58 to 23:02 – and eventually to a worn-down 49ers defense.
With the Seahawks driving deep into San Francisco territory late in the game, Arik Armstead and Aaron Lynch both had chances to grab Wilson on third down but couldn’t. The quarterback instead ducked out of trouble and, as he was falling to the ground, he found receiver Paul Richardson in the side of the end zone for the game’s only touchdown.
That score was Wilson’s first of the season. It also left, as of Sunday evening, Hoyer and the Cincinnati Bengals’ Andy Dalton in ignominious company: They’re only quarterbacks who have started two games this year who have yet to throw a touchdown pass.
“I feel pretty bad about it right now,” Hoyer said. “The running game was something you could be excited about – Carlos popping some big runs, the offensive line doing a good job. But, for me, I’m looking at myself right now, at what I can do to help this team win.”