By Kevin McGuire

The San Francisco 49ers ended the 2017 season on a five-game winning streak with a 34-13 victory on the road against the Los Angeles Rams. The Rams may have let their foot off the gas pedal ahead of the NFC Playoffs, but the 49ers continued to play well and set the table for what could be a promising 2018 season.

READ MORE: Carrie Underwood's "The Denim & Rhinestones Tour" To Make Stop In Sacramento

Offense: A-

The 49ers have looked like a completely different team under quarterback Jimmy Garoppolo, and that trend continued on Sunday afternoon in Los Angeles. With 463 yards of offense and 25 first downs, the 49ers appear to have developed some offensive cohesiveness since getting Garoppolo on the field. Though he was picked off twice by the Rams, Garoppolo passed for 292 yards and two touchdowns, with George Kittle being the big play receiver with four catches for 100 yards. Carlos Hyde led the running game with 90 yards and two scores, and he lost one fumble.

Defense: A

The defense took advantage of the Rams giving key offensive players a rest. With Jared Goff staying on the sideline and Sean Mannion getting his first career start, the 49ers never allowed the Rams’ passing game to hurt them. Not having to try and slow down Todd Gurley was also a nice perk of taking on a team with nothing to play for. San Francisco held the Rams to 102 yards of rushing offense, with no runner able to push for big gains. Brock Coyle led the 49ers with eight tackles and Sheldon Day had two tackles for a loss, including a sack.

READ MORE: Roseville Police Investigating A Fight That Turned Fatal

Special Teams: B

Robbie Gould continues to be one of the most reliable kickers in the league. On Sunday, Gould kicked both of his two field goal attempts, including a 48-yard attempt, and he knocked down all four of his extra point attempts for 10 total points. The 49ers had no kick return yards against the Rams and the punt coverage team did well to make sure Pharoh Cooper didn’t break a long return to spark the Rams.

Coaching: A

Kyle Shanahan deserves some credit—not just for this regular season finale victory, but for helping to keep things together and falling into place down the stretch. Ending the year on a five-game winning streak with a new quarterback seemingly now plugging a big hole for the roster brings Shanahan’s debut season as head coach on an uplifting note. What Shanahan does to improve on the finish this season wraps up with remains to be seen, but the bar has been set higher than it seemed it would before the trade deadline.

MORE NEWS: These Are The Places With The Highest Wildfire Risk In The US

Up Next: The season is over for the 49ers, but the offseason should be an exciting one for the team. General Manager John Lynch has already shown he is capable of making moves to put together a quick turnaround, and now the next moves should be fascinating. The 49ers go into free agency able to sell playing with Garoppolo, and the draft offers a chance to find some new players that can create an impact as the roster continues to be rebuilt.