The 49ers needed to bounce back against the Los Angeles Rams on Sunday Night Football. They did just that and came away with a huge 24-16 win over their division rival.

Here are our observations from throughout the game.

– What a run by Deebo Samuel on his first touch of the game. It was a quick little touch pass and it looked like he was down, but his knee never hit and he turned a short gain into a 35-yard dash. He’s such a key to the 49ers’ offensive success.

– Great design by Kyle Shanahan on a screen to George Kittle that turned into an 18-yard gain and gave San Francisco the ball at the Rams’ 6-yard line. Garoppolo went play action and faked like he was looking deep before leaving it for Kittle who rumbled down to the 6.

– There’s a touchdown. Samuel’s second touch is another touch pass from Garoppolo and he went around the right end for a score. That’s a nice drive to open for San Francisco. It’s a six-play, 76-yard drive. 49ers 7, Rams 0

– The Rams went after Jamar Taylor in the slot on their first play. Taylor came up with a pass breakup against Cooper Kupp.

– San Francisco forced a punt on LA’s first series thanks to good downfield coverage from Jimmie Ward on a shot to Kupp. It’s clear the Rams want to get the ball to him, but the 49ers did a good job on that first series.

– Garoppolo’s first incompletion is a little off target to Kittle, but it bounced off Kittle’s hands. That brought up a third-and-7 where Garoppolo appeared to bail out of the pocket a little early then checked down to Jerick McKinnon for two yards. He needs to be more patient in the pocket. The offensive line is off to a good start.

– Goff hasn’t looked good early. He had all day to throw on the Rams’ first play of their second series and he sailed a throw to nobody. That’s good news for San Francisco.

– Another punt after Jason Verrett flies in for a PBU. That’s a sensational play. He nearly undercut it for a pick 6. The 49ers are extremely lucky he’s been healthy and playing like a former first-round pick.

– First penalty of the game is a hold on Daniel Brunskill. He’s done a nice job on Aaron Donald so far.

– Another great design on first-and-16 after the hold. Kittle lined up in the backfield then sprinted out to the right pre-snap. That led to a toss to Mostert with Kittle lead blocking. Mostert weaved his way ahead for 15 on the play.

– McKinnon was called for a fumble on perhaps the most bizarre call I’ve ever seen. He went down, and then flipped the ball away. The Rams picked it up and ran with it and the officials called it a fumble. They reviewed it, then came out to announce the play was going to stand, but then reviewed it again and announced it was reversed. How weird.

END OF FIRST QUARTER: 49ers 7, Rams 0

– 49ers face a third-and-5 and go with a handoff to Mostert for a pickup of three. They go for it on fourth-and-2 and Garoppolo hits Kittle for a 44-yard touchdown. It was a slant with Kittle one-on-one with the safety. That safety missed a tackle and Kittle was gone. Great pitch and catch. 49ers 14, Rams 0

– Fred Warner is really good. He’s chased down a couple sweeps to stop them for short gains.

– Sick throw by Goff to Robert Woods. Jaquiski Tartt had great coverage, but Goff fit it into a tiny window for a touchdown. San Francisco blocked the extra point. 49ers 14, Rams 6

– There’s 7:30 left in the first half and Mostert is already up to 12 carries.

– 16 first-half carries for Mostert is the second-most he’s had in a game in his career.

– Touchdown Brandon Aiyuk. It’s Garoppolo’s third TD pass of the first half, and it’s the first receiving touchdown of Aiyuk’s career. That was great work from Garoppolo to stand in and find the rookie sitting in the soft spot of the zone. San Francisco went 75 yards on 13 plays to chew up 7:16 of game time. 49ers 21, Rams 6

– Emmanuel Moseley is back. He came up with a big-time PBU on a second-and-short with the Rams trying to drive before the end of the first half.

END OF HALF: 49ers 21, Rams 6

– Not a good start for San Francisco in the second half. A 29-yard kick return followed by a 30-yard shot to TE Tyler Higbee. The 49ers did a nice job of limiting big plays in the first half, but allowed one on special teams and one on defense to start the third quarter.

– Goff has had all day in the pocket. Have to wonder if Robert Saleh starts bringing extra pressure.

– There was a nice game up front on the defensive line from the 49ers on a third-and-5. It forced a throwaway from Goff. There might’ve been a miscommunication with him and his receiver, too, but either way the throw wasn’t a good one in part because of the pressure up front.

– Raheem Mostert has been ruled out with an ankle injury.

– The Rams took a shot on third-and-3 with Jaquiski Tartt and Jamar Taylor trailing Cooper Kupp. Goff just missed the throw. That’s very lucky for the 49ers.

– Garoppolo’s ankle must still be bothering him pretty bad. Third-and-11 and he’s not even looking at anything beyond the sticks. He quickly checked down to McKinnon for a short gain to bring up a punt.

– Tartt is questionable to return with a groin injury. Marcell Harris is in. The Rams have gone right at him.

– The 49ers run defense has nothing. Darrell Henderson is ripping off almost 7.0 yards per carry.

– Wow. Kupp dropped a TD on a third-and-goal and then Goff threw a pick to Jason Verrett on fourth-and-goal. Unbelievable swing. That’s Verrett’s first interception of the year and his first since 2016.

END OF THIRD QUARTER: 49ers 21, Rams 9

– JaMycal Hasty is in and goes for nine yards on his first touch.

– Well that’s a disaster. Trent Williams is down and limping off. That’s a potentially huge blow for San Francisco. Their OL has been awesome. Justin Skule is in for him.

– Flat out drop by George Kittle on a third-and-6. He beat Jalen Ramsey in coverage. The TE has to make that play.

– Holy smokes. What a punt by Mitch Wishnowsky and an excellent play by Tarvarius Moore to down it inside the 1 without sliding into the end zone. If LA is going to get back in the game they’ll certainly have to earn it.

– Ouch. Garoppolo missed a wide open Juszczyk. The quarterback was under pressure, but he simply has to make that throw.

– A Robbie Gould 49-yard field goal makes it a 24-9 game. Garoppolo had a six-yard run on a third-and-9 to help make it a more manageable kick. 49ers 24, Rams 9

– The Rams are right back in it. A 40-yard touchdown pass from Goff to Josh Reynolds makes it a one-score game with 3:24 left. 49ers 24, Rams 16

– Season-defining drive for the 49ers offense here. It starts with a 10-yard run by Hasty.

– Two-minute warning. Hroniss Grasu is in at center for Ben Garland.

– Ball game over. It’s the touch pass to Samuel and he plows ahead for 11 yards. San Francisco can run out the clock. What a showing on both sides of the football for the 49ers.

FINAL SCORE: 49ers 24, Rams 16