Wrap-up: Cardinals 21, 49ers 19

Thoughts on the San Francisco 49ers and Arizona Cardinals after the Cardinals' 21-19 victory Sunday at University of Phoenix Stadium:

What it means: The Cardinals improved to 6-7 with their fifth victory in a six-game period, keeping alive their long-shot playoff hopes while ending a five-game losing streak to San Francisco. They lost quarterback Kevin Kolb to a concussion in the first quarter, but John Skelton made big plays in the passing game to keep the Cardinals rolling. The 49ers fell to 10-3 and into a tie with New Orleans in the race for the NFC's second seed. San Francisco has a better conference record, which could help in a tiebreaker.

What I liked (49ers): The 49ers continued to demonstrate their excellence in establishing superior field position. They controlled the game early and took a 19-7 lead. Ted Ginn Jr.'s early 52-yard punt return contributed, as did the Andy Lee punt that C.J. Spillman and Blake Costanzo downed at the Arizona 1-yard line. Lee and the 49ers' punt coverage team won its battle with Cardinals returner Patrick Peterson. Alex Smith completed passes for first downs on third-and-8 and third-and-12. The 49ers got Vernon Davis free for a 32-yard gain. They did a good job setting up Frank Gore's 37-yard scoring run up the middle with a fake fly sweep. Rookie Aldon Smith collected another sack, giving him 10.5 for the season. Defensive end Justin Smith provided a fumble-forcing sack on Kolb. Tarell Brown and Dashon Goldson picked off passes.

What I liked (Cardinals): There was no panic for the Cardinals when they fell behind without their starting quarterback. Skelton broke tackles, ran effectively and made big plays through the air. His 60-yard scoring pass to Early Doucet and 46-yarder to Larry Fitzgerald made the game competitive. Skelton also found Fitzgerald over the middle for a 53-yard gain. Arizona had great success exploiting the middle of the field. Patrick Willis' absence from the 49ers' defense played a role. Arizona also beat the 49ers' safeties a few times. Skelton completed 19 of 28 passes for 282 yards with three touchdowns, two interceptions and a 106.5 NFL passer rating. The Cardinals' defense continued to build on recent strong efforts despite playing on short fields. Arizona had five sacks for the second week in a row after collecting 15 in its previous eight games combined. Calais Campbell batted down a third-and-1 pass late in the game.

What I didn't like (49ers): The 49ers appeared out of sorts at times, forcing them to use timeouts. They continued to sputter in the red zone, settling for field goals. Their defense missed too many tackles and gave up big gains down the middle of the field. Skelton and the Cardinals proved the 49ers' defense can be vulnerable to long pass plays, a problem for San Francisco against Dallas and the New York Giants previously. The 49ers lost starting left tackle Joe Staley to injury early in the game, forcing the newly re-signed Alex Boone into the game. Smith completed 18 of 37 passes for 175 yards with no touchdowns, no interceptions and a 62.3 NFL passer rating. He kept alive the 49ers' final drive with a wild fourth-down scramble and throw, only to have Kendall Hunter drop what would have been a tough pass to handle.

What I didn't like (Cardinals): The early field-position struggles proved costly, as did a penalty against Adrian Wilson for a face mask on a near sack. The Cardinals arguably should have opted for a two-point conversion after taking a 20-19 lead with 11:50 remaining in the fourth quarter. A successful two-point conversion would have given them a three-point lead. Skelton did not take many reps during the week, however, so that could have factored into the Cardinals' thinking. The victory was great for Arizona, but achieving it without Kolb did nothing to advance where the Cardinals stand at the quarterback position. Beanie Wells averaged only 1.8 yards per carry and never came close to ending the 49ers' season-long streak of zero rushing touchdowns allowed.

Coaching moxie: Both teams' head coaches came out ahead on replay challenges that seemed a bit questionable on the merits. Jim Harbaugh's challenge for San Francisco produced a 9-yard gain in field position, enabling an eventual 46-yard field goal. Ken Whisenhunt's challenge for Arizona came just as the 49ers were snapping the ball for what likely would have been a successful long pass on a fake field goal. The Cardinals took over and completed a 60-yard touchdown pass right away.

Someone call the IT department: For Whisenhunt, initiating the challenge was more successful than what came next. Throwing the flag led officials to stop play just as the 49ers were pulling off the fake field goal. But when referee Al Riveron went to review the play, technology let him down. As Riveron announced to the crowd, "There is a problem with the equipment of replay. Therefore, there was no replay. Arizona will get their timeout back, and we will replay fourth down."

1,000-yard club: Gore passed 1,000 yards rushing. Fitzgerald passed 1,000 yards receiving.

Hustling receivers: Fitzgerald and the 49ers' Michael Crabtree both hustled downfield to make physical blocks, freeing teammates for long gains.

What's next: The 49ers are home against the Pittsburgh Steelers on Monday night. The Cardinals are home against the Cleveland Browns.