Kyle Shanahan's game plan at the start of the 49ers' Sunday game against the Houston Texans didn't come as much of a surprise: The coach was conservative, leaned on the run game and didn't ask much from a 21-year-old rookie quarterback making his second NFL career start.
As the game went on, you could see Trey Lance grow just as Shanahan's playbook did. It doesn't take Shanahan, 49ers defensive coordinator DeMeco Ryans or anyone on Houston's coaching staff to conclude what a difference Lance made for the 49ers compared to veteran QB Jimmy Garoppolo. That's especially true when it comes to the Texans having to game plan for an even-more-dynamic Shanahan offense.
The numbers back that up, too.
Lance averaged the most air yards per attempt (11.5) and threw for the most yards on 10-plus air yards passes (205) by any 49ers quarterback in a game over the last three seasons, according to Next Gen Stats.
Garoppolo entered Week 17 leading the NFL in yards gained per pass completion. Much of his yardage comes from quick throws in the flats or even passes behind the line of scrimmage. Want to see how much Lance changes both the 49ers and opposing defenses compared to Garoppolo?
Just look at their passing charts from their last starts. The differences are both glaring and jarring.
Lance's 45-yard bomb to Deebo Samuel highlights the impact the QB's skills had on the game. But it's more than just that, and started far before the TD.
On his third pass attempt of the day, Lance stepped up and avoided the defense by moving to his right before hitting Brandon Aiyuk for a 12-yard strike. Right there and right then, it was evident what Lance could do for this offense and, again, what Garoppolo can't.
Then, there's this 12-yard pass to Trent Sherfield with Lance rolling to his left at the end of the first quarter.
Take a good look at the dots from the above passing charts. Not only is Lance airing it out, which also led to a key defensive pass-interference penalty later against the Texans when he took a deep shot, he's attempting and completing passes all over the place. He's challenging the defense on the sidelines and making them move. Garoppolo is letting them wait in the middle, knowing he can't hit on passes outside the hash marks.
"I think he did some real good things," Shanahan said of Lance after Sunday's game. "Besides the bad interception, I thought he protected the ball rell well. That was a big thing going into this game. He did a good job on all those except for one play. ... That big play at the end was huge, and for the most part, he made some pretty good decisions."
Lance did make a big mistake with a bad interception, and missed wide-open Kyle Juszczyk on the other side of the field. But the play design leads to Kittle being the primary option. Lance believed he had an open Kittle, but the issue is he didn't see the sinking cornerback, and his underthrown ball was intercepted by Desmond King.
"Not necessarily where I'm told to go with the ball, but if I make a better throw, I think everybody's happy in that situation," Lance said. "Just left it short and short-armed it."
As far as how he responded, Lance led the 49ers to their first three points of the day two series later.
"Just turning the page," Lance said. "You throw picks in practice, whatever it is. It's kind of the only option to turn the page. There's no point in sitting and being upset about it."
Lance and the 49ers began with the ball at their own 25-yard line. He then went 3-of-5 passing for 56 yards to get them into field-goal position. A 37-yard Robbie Gould field goal cut San Francisco's deficit to four points.
The rookie also admitted that Shanahan entrusting him at the end of the first half with just 38 seconds remaining was a confidence boost.
"I think I got into a better rhythm, probably settled in after that two-minute drive," Lance said.
"It felt like we just got into a rhythm offensively," he continued. "The whole offense. It felt good. Being able to make some throws, complete some throws and guys being able to make some plays, I think, made everything easier."
Lance threw for 115 yards with two TDs and no picks in the second half -- including this home run to Deebo.
Sure, it was against the four-win Texans, but the 49ers' offense just felt different Sunday in San Francisco's 23-7 win. It felt explosive.
Aiyuk had 94 receiving yards. Samuel had 63, plus 19 rushing yards. George Kittle only had one catch, but it was an amazing 29-yard haul on a liner from Lance. Elijah Mitchell rushed for 119 yards, and added the TD catch from Lance.
Eight different players caught a pass from Lance, who finished with 249 yards -- all across the field.
RELATED: How Lance made Shanahan 'proud' in 49ers' win vs. Texans
This wasn't the first time we've seen Lance, and it won't be the last. Sunday was a big one, though. Not just in the win column but for 49ers fans.
They'll always remember the first time their franchise QB won in red.