By Sam McPherson

It was Nov. 23, 2014, the last time the San Francisco 49ers registered consecutive NFL victories, so Sunday’s 26-16 win over the Houston Texans on the road was quite significant in the franchise’s journey back to respectability. General Manager John Lynch and head coach Kyle Shanahan are steering the 49ers in the right direction after a few lost seasons, and the back-to-back wins on the road are proof of this progress.

READ MORE: Two Vehicle Accident Requires Extrication In South Lake Tahoe

San Francisco took a 13-9 lead into the locker room at halftime, and then the 49ers scored the final 13 points of the game to overcome an early third-quarter score by the Texans. The S.F. defense did have some trouble with Houston quarterback T.J. Yates once he entered the game in relief of injured starter Tom Savage, but the coaching staff was able to adjust accordingly and do enough to secure the big win for the 49ers.

Offense: A-

S.F. posted 411 yards of total offense and held the ball for almost 35 minutes of game action. It’s nearly impossible to explain just how much different this offense is now with Jimmy Garoppolo at QB than it was previously with either Brian Hoyer or C.J. Beathard at the helm. Garoppolo did toss an interception in this game, but overall he completed 20 of 33 passes for 334 yards with one touchdown throw. That yards-per-attempt mark is excellent, and it opened up the playbook for the rest of the offense.

Running backs Carlos Hyde and Matt Breida combined for 105 yards rushing against a tough defense, and that running game success funneled back into helping Garoppolo make some big plays downfield. It’s a symbiotic relationship between the passing and running games, but you have to have a consistently effective QB to make it work. The 49ers have that now, and its results have shown up on the stat sheet. It’s also helped out the defense tremendously, keeping them off the field and rested more than at any other time this season.

Defense: B+

With the offense scoring 26 points, the defense just needed to do its job in order to make sure the victory happened. For the most part, they did just that. The Houston running backs gained just 59 yards in 20 carries, and the 49ers defense knocked the starting QB out of the game. However, Yates—who started this season as the No. 3 QB on the depth chart—really hurt the S.F. defense with his scrambling (31 yards on three carries) and his ability to hit wide receiver DeAndre Hopkins anywhere and everywhere.

READ MORE: Fatal Road Rage Accident Closes Portions Of Stockton Blvd In Sacramento

Hopkins had 11 catches for 149 yards and two TDs, and he almost single-handedly kept the Texans in this game much longer than they should have been. No other Houston receiver had more than 26 yards on the day, so the 49ers secondary simply had trouble containing an All-World talent on Sunday. This might be something to address in the offseason for Lynch: find a lockdown cornerback or two in 2018.

Special Teams: A-

Placekicker Robbie Gould continued his excellent season with more four more field goals on four attempts, including one from 52 yards out. He also nailed both his extra-point attempts, while his Texans counterpart missed both FG and XP attempts. The return game was non-existent for both teams, and punter Bradley Pinion nailed a 52-yard kick and dropped two inside the Houston 20-yard line.

Coaching: A

Houston’s roster has been decimated by injuries this season, but the Texans are still a well-coached team with talent on both sides of the ball. Plus, this was a home game for them. The Garoppolo Era continues to look very good for Shanahan, in terms of running the kind of offense he wants to run, and the defense’s health has improved just in time to take advantage of the offense’s new-found consistency and efficiency. This was a winnable game for the 49ers, and other than a few moments right after halftime, this game was S.F.’s to lose. It’s a credit to the coaching staff when you win the games you’re supposed to win—and convincingly so.

Up Next: Tennessee Titans

MORE NEWS: Husband Of 2020 Slain Manteca Woman Arrested For Murder

The 49ers return home to face a tough opponent in the Tennessee Titans, who had an 8-4 record heading into Sunday’s game at Arizona. The Titans were tied atop the AFC South with the Jacksonville Jaguars prior to Sunday’s games, the Jags hosted the Seattle Seahawks. Tennessee is fighting for a postseason spot—the Titans last played meaningful January football during the 2008 playoff season—and that means the improving San Francisco team has a chance to play spoiler. Hosting the game at Levi’s Stadium, in front of what should be a rejuvenated fan base, will be a big boost for the 49ers next Sunday afternoon.