I came away more impressed with the 49ers after rewatching them against the Texans. The player who hadn’t taken a snap in a regular-season game that just so happens to be the most important player on the field came out shaky. That shouldn’t have been a shock.
The No. 3 overall pick, which we’ll get to, looked the part from the final drive of the first half and on. The Niners' defense played phenomenally for four quarters. That gave the offense enough time to wake up, and once they did, Houston had a problem.
Let’s get into the winners and losers from Sunday’s game.
Winners - Brandon Aiyuk
Sunday was Aiyuk’s best game of the season and not because he had a season-high in receiving yardage. Aiyuk showcased his punt return abilities once the ball was in his hand. Next Gen Stats tracks expected yards after the catch. Only some guy named Ja’Marr Chase had a bigger weekend than Aiyuk in expected YAC.
Aiyuk’s work at the end of the first half showed a player who understands how to play the game. Too often, players will fight for meaningless yards up the field instead of preserving precious seconds on the clock. Aiyuk managed to avoid tackles while gaining yardage and still finding a way to step out of bounds.
Aiyuk had receptions of 27 and 12 on the half's final drive, including an acrobatic catch along the sideline. That last reception doesn’t happen without him getting out of bounds two plays prior.
He finished the game catching four of six targets for 94 yards. Aiyuk played so well that his holding penalty in the fourth quarter that prevented the offense from adding another touchdown doesn’t get brought up.
It was refreshing to see Aiyuk involved early and often in the offense. He’s a walking big play, and they’ll need him against the Rams.
The season was always going to get to a point where the opposing offense goes out of its way to ensure Nick Bosa doesn’t beat them. The Texans chipped or doubled Bosa on 53% of his pass-rush snaps Sunday.
Key has stepped up in a big way during the second half of the season. He’s third in PFF’s pass-rush productivity among all defensive linemen since Week 8. Since Week 9, he has had 10 quarterback hits and six sacks.
All that’s to say, it should come as no surprise that Key was his usual productive self against the Texans. He had three quarterback hits and a sack. Key was responsible for pushing the pocket on a Samson Ebukam sack that led to a Texans missed field goal. Additionally, Key was in the face of Davis Mills on Marcell Harris’s interception.
Key is an unrestricted free agent. He’s 26-years-old. He’s set to cash in this offseason. Somebody is going to pay him a lot of money. With Dee Ford’s contract coming off the books, let’s hope it’s the 49ers.
I could list the entire defense, but Warner sets the tone. He played possessed. Warner finished the afternoon with 15 tackles, including one for a loss, but it’s the manner in which those tackles happened. He was running through blocks, playing from sideline to sideline, and with a level of intensity and focus that hasn’t always been there this year.
Warner allowed a touchdown in the end zone to Brandin Cooks on a perfectly placed pass that no defender in the league is stopping. There were numerous plays where Warner took away the receiver he was covering, which forced Mills to look in a different direction.
Without Az Al-Shaair and Dre Greenlaw, Warner took his game to another level.
Losers - Josh Norman
Talk about a short leash. It took Norman giving up one defensive pass interference for Kyle Shanahan to pull the plug. Then, Norman allowed an easy first down on an out route. Nothing looks easy for Norman, who struggles to turn and run. When he plays, he’s far from graceful. Watch the top of the screen below:
Incredible recognition from Tartt here. The Texans run PA, Tartt turns to run and immediately alerts Ward that the double post concept is coming. Ward falls off the post from #2 and baseball turns stay low and inside on #1.— KP (@KP_Show) January 3, 2022
Tartt cuts off the post from #2. Incomplete. Perfection pic.twitter.com/0ch1loTb9q
Everyone does their job in the secondary except for Norman, who is supposed to be on the left shoulder of the receiver to the top of the screen. This happens as often as you think it does.
Kyle Shanahan should be commended for letting rookie Ambry Thomas play through his struggles while not allowing Norman to cost the team. Dontae Johnson is a better option at this point. Ideally, Emmanuel Moseley returns Sunday to start alongside Thomas.
For the first time in a long time, I thought the 49ers' offensive line, collectively, was outplayed by their opponent. Generally, there’s a splash play like a sack or a quarterback hit that sticks in our minds.
Against the Texans, there was blown block after blown block — even Trent Williams was missing assignments. As is the case with most games, I thought Williams played the best, and it went downhill once you started going to the right of the Niners line.
Laken Tomlinson was rock solid and likely the best of the group. Alex Mack looked slow when asked to get to the perimeter or execute on the move. Daniel Brunskill and Tom Compton combined for seven blown blocks. Compton also had a false start as the offense was driving toward the end of the first half.
Trey Lance held the ball longer than Jimmy Garoppolo, but that wasn’t the reason he was pressured several times and sacked once. It was impressive that Lance wasn’t sacked more.
Winners - Elijah Mitchell
Shanahan mentioned after the game that Mitchell looked a bit rusty after not playing for a month. Shanahan said Mitchell missed the first run of the game. Here’s the cutback lane he didn’t see:
If Mitchell doesn't bounce the run above, the 49ers don’t go three-and-out to start the game.
There wasn’t much to complain about from Mitchell besides that rn. He finished with 119 yards on 21 carries. Mitchell’s longest run was 37 yards. The takeaway from Mitchell being back in the lineup was that he had eight carries that went for six yards or more — including a double-digit one that was called back.
Those chunk plays weren’t happening on the ground without Mitchell. I thought he overcame some of the missed blocks from the offensive line. Mitchell ran into 8+ defenders in the box on 52% of his carries, per Next Gen Stats. Yet, Mitchell still ran for 1.53 yards over expectation, which was fifth in the NFL for Week 17. Welcome back, Elijah.
Thomas didn’t allow a catch. Yes, he could’ve surrendered an explosive play had Nick Bosa not drawn a holding call. But you can play the “what if” game in any play. Thomas would have been one of the first winners listed had he caught the pass Mills threw to him.
The 49ers were playing a “cloud” coverage with Thomas, meaning he was responsible for the short routes in front of him. Instead of giving ground, he baited Mills into throwing the pass. Thomas did everything correctly on the play but catch the ball.
On the day, Thomas gave up a catch for zero yards. However, I was more impressed with his aggressiveness as a tackler. He had two run stops — both coming in the red zone. There’s been a steady improvement in Thomas’s game, and Sunday was the best version of him yet. He’s starting to make gain confidence, and it’s showing.
Again, it would have been easy for Shanahan to give up on Thomas after his first start. However, the head coach’s patience had paid off. As one of my bold predictions, I can already feel Thomas having his first career interception next week.
We love citing numbers for quarterbacks. Here are a few. Lance finished sixth among all quarterbacks this weekend in completion percentage over expectation. That number is even more impressive, knowing he averaged 11.6 air yards per attempt, which was first in the NFL by over a yard.
The 49ers offense started to roll once Lance began using the entire field. The deep bombs are what we remember, but throwing 12-15 yard out routes on 3rd & 3 will be there for the entirety of Lance’s career.
Lance’s success rate was low — which was expected given that he hadn’t played in a live game since October — but his EPA per play was 0.216, which is slightly higher than Garoppolo on the season. There is going to be variance with Lance under center. You’ll take the trade-offs for an incomplete pass here and there that should be completed if you’re getting a big play in return.
Lance had a boneheaded interception, was tentative to pull the trigger early, and was inaccurate on two throws while being indecisive on a fourth down.
As the game went along, he started to come out of his shell. Everything changed once he completed a pass to Deebo Samuel during the two-minute drill. Nine of Lance’s 16 completions went for ten or more yards.
Seven of those throws went for first downs, and that doesn’t include the pass interference down the field to Aiyuk or the times Lance ran out of a sack or even turned a net negative play into a positive gain.
You always gain a different perspective when you re-watch the game. Lance looked like a player who wasn’t used to the game's speed during the first half. However, he snapped out of it during the final drive of the first half and carried that confidence into the second half.
Below, I break down everything I saw from Lance and why it’s easy to get excited about the future. There’s zero doubt in my mind that Lance has a bright future in this league. You can see why in the video below: