Observations from the 49ers season-opening loss to the Cardinals

The 49ers’ revenge tour got off to a slow start.

The 49ers lost their season opener to the Arizona Cardinals on Sunday 24-20.

Here are our observations from throughout the game:

First quarter

– It’s Daniel Brunskill starting at right guard and Hroniss Grasu at center with Ben Garland sidelined. Dante Pettis and Kendrick Bourne are the receivers. Raheem Mostert got his first ever start.

– George Kittle got a catch against the George Kittle stopper, Isaiah Simmons.

– Jerick McKinnon debuted on a third-and-long on San Francisco’s first series.

– Robbie Gould drills a 52-yard field goal. Probably would’ve liked to see the 49ers go for it on fourth-and-short instead of settling for the long field goal. The explosive Cardinals offense may have played a role in that choice. 49ers 3, Cardinals 0

– Emmanuel Moseley is the starter on the other side of Richard Sherman.

– The first penalty of the day is an intentional grounding on Kyler Murray. He had to get rid of a throw early due to pressure from Nick Bosa. It’s been a lot

– Solomon Thomas was in before Javon Kinlaw. The 49ers forced a punt on Arizona’s first drive. Their third-and-20 play was a screen pass that Arik Armstead might’ve blown up if he didn’t fall down on his way to Murray.

– Trent Taylor was the punt returner. Richie James Jr. held that job last season.

– The 49ers’ first touchdown of the year is a 76-yard catch-and-run by Mostert. He ran a slant out of the backfield and got by rookie LB Isaiah Simmons, and never got touched after the Cardinals abandoned the middle of the field. Garoppolo is 3-3 for 92 yards and a touchdown. 49ers 10, Cardinals 0

– McKinnon had a nice blitz pickup on another third down. The throw went incomplete to Taylor, but it’s good to see McKinnon back.

– Brutal. The Cardinals block a 49ers punt thanks to what looked like a botched blocking assignment. CB Dontae Johnson allowed a player through. He was elevated off the practice squad this week. Arizona needed one play to score. 49ers 10, Cardinals 7

– The wheels are coming off. The last four plays have been 49ers incompletion, Cardinals blocked punt, Cardinals touchdown and Cardinals sack. Looked like good coverage from Arizona forced Garoppolo to hang onto the ball. He tried to escape but there was nowhere to go.

– Garoppolo’s first attempt too McKinnon is on a wheel route that was well-covered. It wasn’t a bad throw, McKinnon just never shed the coverage.

– Wow. Javon Kinlaw was in and just got dominated on a one-on-one block. That was ugly for the 49ers rookie.

– Richard Sherman has played some on the right side today. That’s an interesting wrinkle from San Francisco’s defense. The 49ers on a third-and-10 also ran Nick Bosa and Dee Ford on the same side of the defensive line. It worked and forced Murray to escape right and run out of bounds. Good coverage, too.

– Dante Pettis is the punt returner this time.

– Jordan Reed gets his first reception on a slant. He went for 10 yards and a first down. He’s a weapon.

– A run play for George Kittle goes for 9 yards. It’s like Kyle Shanahan prefers being shorthanded on offense.

– END OF QUARTER: 49ers 10, Cardinals 7

Second quarter

– A Jerick McKinnon carry! That’s his first since 2017.

– Garoppolo took a horrible sack to set up a third-and-goal from the 17. He needs to learn how to get rid of the football. He had among the fewest throwaways in the league last season.

– Another McKinnon carry went for 16 yards to get San Francisco to the 1 on for a fourth-and-goal. Mostert got stuffed at the goal line. Rough end to a strong series for the 49ers’ offense.

– The 49ers are doing some fun stuff with Nick Bosa and moving him around the line. It’s resulted in a couple pressures but no sacks.

– Tackling has been an issue for the 49ers, as expected after a short offseason.

– Uptempo for Arizona is working well. DeAndre Hopkins is good, FYI.

– A missed 52-yard field goal keeps the 49ers up three with 7:28 to go in the first half. Arizona went 65 yards on 13 plays after starting at their own 1-yard line. Nice job by San Francisco’s defense.

– A shot to Dante Pettis went a little overthrown. That’s the first time Garoppolo has looked for a wide receiver down the field.

– Nearly the first interception of the year for Garoppolo. His throw bounced off McKinnon’s hands and into the arms of Cardinals linebacker Jordan Hicks. Hicks couldn’t hang on.

– Javon Kinlaw made his first tackle! He got in the backfield to haul down Kenyan Drake for no gain.

– The first turnover of the game comes on a Dre Greenlaw deflection that Jaquiski Tartt hauled in for an interception. Greenlaw did a great job to get up and get a hand on Murray’s throw. That’s Tartt’s first interception since Oct. 28, 2018 at Arizona.

– A two TE set with Kittle and Reed split out to the same side. That’s scary for a defense.

– Kittle leaves hurt after a high throw from Garoppolo on a screen. The 49ers offense cannot function without their All-Pro tight end.

– Gould drills a 24-yard field goal. 49ers 13, Cardinals 7

– The Cardinals responded with a 56-yard field goal, set up by a long run from Chase Edmonds.

– END OF QUARTER: 49ers 13, Cardinals 10

Third quarter

– The Cardinals were in a first-and-20. A couple throws to Hopkins later and they have a first down. He beat Richard Sherman twice.

– Kerry Hyder Jr. gets a sack by hanging on to Murray’s under shirt. It was a misdirection play by Arizona that Hyder sniffed out nicely.

– Wow. Third-and-17 and Murray runs for 25. Kwon Alexander got turned around and couldn’t get the stop. This has been reminiscent of last year’s Cardinals-49ers matchups. San Francisco is struggling with Murray’s mobility.

– Coverage has been great for San Francisco, but it’s opened a ton of running lanes for Murray. Also, Bosa has been something of a non-factor for most of this one.

– And right on cue Bosa blows past the Cardinals’ left tackle to force a throw away.

– Another missed field goal bails out the 49ers. It was a 49-yard try and Gonzalez pushed it right again. Still a 13-10 49ers lead.

– Good news: Kittle is back on the field.

– Another sack. That one is on the 49ers offensive line. Kyle Juszczyk was open, but Garoppolo didn’t have room to step into the throw.

– Another overthrow. Garoppolo has been abysmal.

– A 15-yard penalty on Dre Greenlaw for hitting Murray late on a slide. Greenlaw cannot flop onto the quarterback there. That’s a flag every time and a rare bad play from the second-year LB.

– Garoppolo found Kendrick Bourne over the middle on a third-and-7 for a pickup of 16. That was the third catch by a wide receiver all game. There are fewer than four minutes left in the third quarter. That was also the 49ers’ first third-down conversion.

– The 49ers forced a three-and-out but a defensive holding bailed Arizona out. It was called on K’Waun Williams, but it looked like Hopkins was doing most of the holding. Now Arizona is moving.

– END OF QUARTER: 49ers 13, Cardinals 10.

Fourth quarter

– Another late hit on Murray. This one on Kerry Hyder. That was a rough call and it once again bails out the Cardinals.

– And now a very touchy pass interference call on Emmanuel Moseley. The 49ers should’ve gotten off the field a long time ago.

– A 22-yard touchdown run by Murray gives the Cardinals their first lead. That was a strong series for the 49ers’ defense, but man they couldn’t catch a break from the officials. Cardinals 17, 49ers 13

– Richie James is out with a hamstring injury so Jerick McKinnon is returning kicks.

– There’s Juszczyk. He got open down the left sideline and Garoppolo threw a beauty to hit him in stride.

– A Garoppolo interception gets overturned by a defensive pass interference. That was the first really bad decision by the quarterback today. He was looking for McKinnon.

– McKinnon! He hauls in a 5-yard touchdown pass to put the 49ers back up front. Garoppolo found him wide open, but he also missed a wide open Kendrick Bourne before that. 49ers 20, Cardinals 17

– The 49ers just don’t have an answer for Murray’s scrambling.

– Wow. The 49ers didn’t cover DeAndre Hopkins and he gets Arizona down inside the 1. That’s a brutal blown coverage for San Francisco.

– Drake pushed in for a score one play later. Cardinals 24, 49ers 20

– At the 2:00 warning the 49ers have cruised down to Arizona’s 32 with a heavy dose of the run game. San Francisco got their two wins over the Cardinals last year by finishing big drives late.

– An underthrow by Garoppolo misses a wide open Bourne for what would’ve been the go-ahead score. His toss bounced off Patrick Peterson’s helmet who’d gotten beat pretty bad.

– A jump ball to Trent Taylor is interesting.

– And another underthrow on fourth down. Ball game over. Garoppolo has a lot of work to do.

FINAL SCORE: Cardinals 24, 49ers 20