Who was good, who was bad in the 49ers’ 34-31 win vs. Rams

The 49ers got some up-and-down performances in a back-and-forth game Saturday night.

Bad: Pass protection

Cary Edmondson-USA TODAY Sports

Garoppolo’s early struggles were partly due to the poor play of his offensive line. With backup center Ben Garland and backup right guard Daniel Brunskill in the starting lineup, the Rams defensive line spent a ton of time in the backfield and sacked Garoppolo six times and hit him eight times. He also had to make a couple of big throws under pressure late in the game. Keeping Garoppolo upright is imperative for San Francisco, and they didn’t do a good job of it Saturday.