For the second time in three games, the 49ers secured a victory in the final seconds of a game in which they trailed but fought back to keep it close. It was the fifth game since the week 10 Monday night game against the Seahawks that the 49ers have been involved in that came down the final seconds before a winner was determined. After being down 21-10 in the first half, the 49ers offense showed signs of life in spurts, but it took a full game effort by both sides of the ball to get the job done.

The defense had trouble containing the play action roll outs the Rams relied heavily on, even as defensive coordinator Robert Saleh made some adjustments. The offense gave up seven sacks on a night that Aaron Donald was largely contained until late in the game. But the catalyst for victory was a mid-fourth-quarter 91-yard touchdown drive that culminated in a Jimmy Garoppolo touchdown pass to George Kittle and two Garoppolo third-and-16 conversions that kept their final drive alive, allowing Robbie Gould to kick the game-winning field goal.

Situation: 4th quarter, Rams 28-24

First play: 1st and 10 at SF 9 (8:54)

The 49ers trailed the Rams 28-24 midway through the fourth quarter after a quiet third quarter from the offense that saw them turn the ball over on an interception and a pair of three-and-out series. They faced a 91 yard on their second possession of the fourth quarter. A 91-yard scoring drive was anything but easy to accomplish. But they did.

The first play was on Shanahan’s “rider” concept: a play-action pass designed to get the middle of the field open for the deep crossing route. The play demonstrates the elite play-calling of Kyle Shanahan. With the Rams in cover-3 coverage on the back end, the play exploits the weakness of the coverage at the numbers/sideline area.

Garoppolo sends Sanders on a fly motion just before the snap. The play-action draws up the linebackers and safety Taylor Rapp (No. 24) so that there is no linebacker in a hook or seam drop into the middle of the field. Linebacker Corey Littleton (No. 58) widens to the flat with the fly motion, leaving Kittle all alone as he crosses the field.

Kittle took an inside release off the snap with right tackle Mike McGlinchey essentially pick blocking linebacker Clay Matthews in case Matthews was supposed to cover Kittle. Kittle’s free release got him across the field quickly for Garoppolo to hit him for a 36 yard gain from deep in their territory.

Second play: 1st and 10 at SF 45 (8:05)

The 49ers lined up in 21 personnel on this play with Tevin Coleman and Kyle Juszczyk lined up in an I formation behind Garoppolo. The play call is “Suzy,” a strong-side outside zone run that uses misdirection to the weak side where both the running back and fullback take their initial steps to the left before wrapping back around to the play side. The misdirection gets the defense flowing with the initial steps of the backs and allows the blockers to get to their blocks against out of place defenders.

Coleman and Juszczyk step to the left before wrapping back to the right side, where Coleman finds a crease for a 12 yard gain. Both of the Rams linebackers fast flow (linebacker read against an outside run) to the defense’s right side, allowing the zone blockers to reach them in the second level, sealing off their pursuit. Coleman gains 12 before safety Eric Weddle finishes with the tackle.

Third play: 1st and 10 at LA 43 (7:23)

The 49ers are in 11 personnel this time (one running back, one tight end) and send Coleman out wide to the left to create a spread 3x2 formation. The play call is a four verticals concept Shanahan calls “dancer zorro” with the fifth receiver running an underneath slant route. The play is a good call against a single high safety, and they got the coverage they wanted with the safety playing the far hash over the trips.

Tight end Ross Dwelley is the target running a vertical up the seam away from the safety. He gets behind the zone drops of the strong hook and curl defenders. Garoppolo waits for him to come open and places the pass perfectly over the coverage and away from safety Eric Weddle’s impending hit. The ball could’ve been thrown a hair sooner, but Dwelley hangs on for a gain of 25. The offense gets an additional 15 yards due to the unnecessary roughness penalty assessed on Weddle for a hit to the head/neck area of a defenseless receiver.

Fourth play: 1st and 9 at LA 9 (7:02)

This was a short completion to Deebo Samuel for a gain of 2 yards on the left sideline.

Fifth play: 2nd and 7 at LA 7 (6:20)

Incomplete pass to Emmanuel Sanders setting up a critical third down.

Sixth play: 3rd and 7 at LA 7 (6:14)

The 49ers are still in 11 personnel on third down and in shotgun. The pass concept to the right is a simple stick flat combination to the right with Kittle on the right side, running a “quick shallow” crossing route over the middle. The Rams are in their cover-4 defense, which is quarters to the field and cover-2 to the boundary.

Garoppolo drops back, looking for Kittle over the middle, but the linebacker and safety bracket him. On a short drop back, Garoppolo either has to pull the trigger or look to scramble due to the timing of the routes to his drop back. He has to scramble when he sees Kittle isn’t open. Every other route is covered too. As he scrambles, Kittle runs across and then works back to the goal line inside the end zone and presents himself as a target. Garoppolo flings it into Kittle for six, and the 49ers were once more back in the lead after the extra point at 31-28.

Situation: Last drive of the fourth quarter, game tied at 31

The Rams drove down and tied the game at 31 after the 49ers took the late lead. With the 49ers offense showing life at the right time, they had to feel pretty confident that they could do it again. Until the first play of the drive.

First play: 1st and 10 at SF 25 (2:30)

The offensive line had done a pretty good job at containing Aaron Donald until the second half. Donald did finish with two sacks on the night, and his second one was as close to ending the game. The 49ers had trouble with pass protection all game due to having to account for Donald because he’s the type of player who can drastically affect what an offense can or can’t do.

The 49ers were able to double team him most of the night, so the Rams began to move him around to get 1-on-1 match-ups with the 49ers offensive line. On this play, Donald lines up in the 3-technique spot between guard Laken Tomlinson (No. 75) and tackle Joe Staley (No. 74). There are 1-on-1 match-ups across the front from the center to the left tackle now as a result of the alignment over the center, the B-gap, and the C-gap.

The Rams are running a tackle-end exchange stunt Wade Phillips calls an “exit stunt” with Donald shooting the B-gap first and defensive end Dante Fowler (No. 56) as the looper into the A-gap after engaging Staley. Fowler disengages from Staley and loops around inside as Donald swims over Tomlinson. Both Staley and Tomlinson tried to prevent Donald’s rush, but he’s just too good to be stopped here. Both he and Fowler finish with the split sack and six-yard loss on first down.

Second play: 2nd and 16 at SF 19 (2:00)

This was an incomplete pass on a jailbreak screen to Raheem Mostert, who lined up as a receiver out to the right.

Third play: 3rd and 16 at SF 19 (1:57)

Few quarterbacks have been better than Garoppolo this season on third-down conversions. He’s extremely efficient on third down and generally hits tight window throws when needed to convert and move the chains. The play call here is a dagger concept, but due to the pass rush and blitz, Garoppolo adjusted Bourne’s (No. 84) assignment on the play to have him break off the route sooner.

The Rams didn’t blitz, but they were able to get pressure in Garoppolo’s face on the throw. Behind their rush, they’re playing a cover-3 coverage. Normally on dagger, the slot receiver would keep running a deep through route to clear out the zone for the dagger. However, against Cover-3, the dagger wasn’t there as the Rams continued to zone drop down the hash.

Bourne adjusted his route after the snap and sat in the void between the strong and weak hook defenders and in front of the deep safety. Linebacker Samson Ebukam (No. 50) collapses the left side of the pocket while Donald, Clay Matthews (No. 52), and Morgan fox collapse the right side of the pocket.

Donald nearly gets his hand on the pass to tip it, but Garoppolo was able to get it out and above his reach just as Donald got there after bull-rushing right tackle Mike McGlinchey into Garoppolo’s lap. Bourne catches it and falls backwards across the line to gain for the first down.

Fourth play: 1st and 10 at SF 37 (1:17)

Raheem Mostert had a one-yard run here over the left guard.

Fifth play: 2nd and 9 at SF 38 (1:04)

The left side of the offensive line gave up this sack again, their second in three plays. This time the culprit was George Kittle, who was responsible for the outside rush by Ebukam. The Rams sent a six-man pressure, but Ebukam quickly got around Kittle after getting leverage by controlling Kittle’s arms and then shedding Kittle as he sped around the edge to finish with the sack.

The seven-yard loss on the sack set up yet another third-and-16.

Sixth play: 3rd and 16 at SF 31 (00:58)

The 49ers came out in 11 personnel again here. The play call is a “palm swirl” concept with a swirl route to the single receiver side and a “Miami” route over the middle tagged with a backside post as the alert.

The Rams are playing 2-high coverage variation of Nick Saban’s “clip” coverage where the coverage to the trips side is looking to take away any out routes by the #2 or #3 receivers and the safeties playing deep half responsibilities. As such, Ramsey is squatting off coverage with an outside shade and has eyes inside at the snap.

Receiver Emmanuel Sanders (No. 17) runs right by cornerback Jalen Ramsey (No. 20), who’s looking for an out-breaking route by the slot receiver and is caught flat-footed in the process. The slot receiver on the Miami route is covered, but the safety on the hash, Taylor Rapp (No. 24), widens too far with Sanders’ route. He ends up outside the numbers as Sanders bends his route back to the post and is running wide open in the middle of the field.

The pass rush nearly gets to Garoppolo, and though he’s able to get the pass off, it appears linebacker Corey Littleton hit his arm just enough for the pass to float on Garoppolo a bit. Had he not his throwing arm, Garoppolo likely throws a touchdown pass.

Garoppolo said after the game that the “safeties were high and wide. They got a little too wide, and I knew we had a post on, so just wanted to give him an opportunity. My arm got hit as I threw it, so I got a little nervous, but he just made a great play. It was awesome.”

Donald said after the game that he “felt like we were putting pressure. We were there, but he [San Francisco 49ers QB Jimmy Garoppolo] was making some good throws. We were about to get him if we had a second longer. He made two good passes to help his team to win.”

Ramsey, speaking his mind, told ESPN’s Lindsey Thiry that “We was in a form of two-man. We had an adjustment check to it because they [were in] condensed splits. I played my technique, trusting that [Rapp] was going to be over top. He wasn’t.”

On the next plays, the 49ers offense would make another nine-yard run to get kicker Robbie Gould and even easier chip shot where he kicked the game-winning field with three seconds remaining.

Outlook

The 49ers travel to Seattle for week 17. The game was flexed to Sunday Night Football, and the winner of the game will win the NFC West while the loser drops to the fifth seed and a playoff game on the road against the NFC East division winner, either in Philadelphia or in Dallas.

The stakes couldn’t be higher. Seattle is tapping into some nostalgia by signing Marshawn Lynch and Robert Turbin for week 17, and the playoffs since all three running backs (Chris Carson, CJ Procise, and Rashaad Penny) are all on season-ending injured reserve. The 49ers will be throwing it back to 1994 as well with the white throwback uniforms making their second appearance this season.

As for the Seahawks, both Lynch and Turbin have not played in over a year, but this by no means means that the 49ers will take this game lightly, though I remain skeptical that both signings make any meaningful impact. Nonetheless, it’s been a while since a 49ers/Seahawks game meant anything, and the last time the 49ers won in Seattle was a 2011 week 16 win on Christmas Eve. A win and first-round bye would be a fitting way to end a decade of turbulent 49ers football.