The San Francisco 49ers got off to a good start to a key four-game stretch on their schedule Sunday with a 41-22 win over the Arizona Cardinals.

Sunday’s game was far from a run-of-the-mill blowout, though. Every week is going to be a bit of an adventure for the banged up 49ers in their quest for a postseason berth, and Week 11 wasn’t an exception. There was a ton to learn from San Francisco’s victory.

Here are our takeaways:

Brock Purdy’s strong return

It wasn’t a monster day for Purdy on the stat sheet and there were at least two turnover-worthy plays. However, Purdy showed his willingness to throw the ball downfield early with a 25-yard completion to Jauan Jennings and a 30-yard strike to George Kittle on the 49ers’ first drive. That ability to threaten teams deep should help open things up for the 49ers’ run game. Purdy finished 19-of-26 for 200 yards and three touchdowns.

40 piece

Scoring is going to be the 49ers’ best defense moving forward (more on this later). They didn’t play well enough against the Los Angeles Rams in Week 10, but they responded with 41 points against Arizona on Sunday. It could’ve been a few more had there not been a series of special teams calamities (more on this later, also). Sunday was the exact type of showing the 49ers offense is going to need if they’re going to make the postseason.

49ers make up ground in NFC playoff picture

Speaking of the postseason, the 49ers made up no ground in the NFC playoff picture in the immediate aftermath of Sunday’s game. They entered the day at No. 8, and they finished their game sitting at No. 8 after the Chicago Bears and Green Bay Packers both snuck out wins in their games. The Seattle Seahawks fell to the Los Angeles Rams, but they were still sitting 0.5 games back of their rivals from the Pacific Northwest. However, the Detroit Lions loss to the Philadelphia Eagles moved San Francisco into the No. 7 seed in the NFC entering Week 12.

Christian McCaffrey breaks one

McCaffrey had a good game on the ground with 13 carries for 81 yards and two touchdowns, but the most noteworthy thing for him was the 20-yard run he broke late in Sunday’s game. That carry was his (and the team’s) first 20-yard run of the year. If San Francisco can start finding explosive plays in the ground game it will make their quest to score 30-plus points per game much easier.

George Kittle is cooking

Kittle had a good game with six catches for 67 yards and two touchdowns on six targets. It marked the third consecutive game where Kittle caught every ball thrown his way, and dating back to Week 8 he has catches on 21 consecutive targets. He has 204 yards and three touchdowns on those 21 targets.

Ricky Pearsall’s slow game

Pearsall was back Sunday and played a ton of snaps, but the production didn’t match his workload. He hauled in one of his three targets for zero yards. With he and Purdy still working their way back it’s not a huge surprise he wasn’t super productive. Expect Pearsall to get more involved in the offense as he and Purdy continue getting more practice time in.

Eddy Pineiro injury caps special teams disasters

What a brutal day for the 49ers special teams. They actually blocked a field goal that still made it through the uprights. However, they allowed an extra point to get blocked for the second game in a row after their second TD, then Pineiro flat out missed an extra point following San Francisco’s next touchdown. To make matters worse, Pineiro pulled up with a hamstring injury after an extra point on a late touchdown. He didn’t return. Pineiro connected on all three of his field goal tries. He’s 22-for-22 on the season and if he misses time it’s a huge deal for San Francisco.

An extreme rarity for 49ers defense

San Francisco generated three turnovers for the first time since Week 6 last season, but even more surprising than that was their two interceptions. Malik Mustapha snagged one late in the first half, and then Deommodore Lenoir grabbed another late in the third quarter. The last time they had two picks in a game was last season’s 30-24 Week 8 win over the Dallas Cowboys. Rookie cornerback Upton Stout created the third takeaway by taking a page out of fellow rookie Alfred Collins’s book by forcing a fumble at the goal line. He pulled the ball out from Cardinals tight end Elijah Higgins as Higgins was going in for a late score. Defensive end Keion White fell on the loose ball. If the 49ers are going to make any kind of noise to end this season, takeaways are going to need to become a more regular occurrence. Sunday was a good start.

Rookie LB Nick Martin debuts

Martin played his first defensive snaps of the year and had some nice moments. He looked a step slow here and there which is expected for a player making his NFL debut. One of the things that stood out about Martin’s preseason performance was how quickly he learned, and that shined through again Sunday. He had six defensive tackles and flashed his athleticism and tackling ability in the open field. There was a lot to like from the third-round pick in his first game.

Area of concern for 49ers defense

While Sunday’s game was a romp on paper, the 49ers defense was not particularly good. Cardinals quarterback Jacoby Brissett hung up 452 passing yards and completed an NFL record 47 passes on 57 attempts. The 49ers still struggled to get pressure on the QB and one 60-yard touchdown run by Cardinals RB Bam Knight was negated by a holding penalty that didn’t impact the play. The 49ers will take a win however they can get it, but there was a lot not to like about how their defense played in Arizona. Takeaways and big offensive performances are going to be the 49ers keys to victory moving forward because their defense leaves a lot to be desired.

More 49ers: 49ers vs. Cardinals highlights: San Francisco blows out NFC West rival in big game