Week 11, 2025

Played in Arizona, AZ, weather: 52 degrees, fair, calm.
Arizona won the toss and elected to receive.
Start of first quarter.
(1Q: 15:00) Roger Kowal kicked off 59 yards from the SFO30. Taylor Mays returned the ball 32 yards to the ARI43. Tackled by Gus Horn.
1-10-ARI43 (1Q: 14:26) Al Holmes pass was thrown incomplete, intended for RB Howard Westbrook.
2-10-ARI43 (1Q: 14:21) Alex Keyes ran around left end for 10 yards and was forced out of bounds. Tackled by CB Rich Markowitz. Key block delivered by Ernie Crane. Crane ran over Max Jeffrey to set up the play.
1-10-SFO47 (1Q: 13:53) Howard Westbrook ran around the left tackle for 1 yard. Tackled by ILB Jerry Hughes, assisted by DE Chuck Ward.
2-9-SFO46 (1Q: 13:20) Alex Keyes ran outside the right tackle for 7 yards. Tackled by ILB Max Jeffrey, assisted by OLB Tyrus Harden.
3-2-SFO39 (1Q: 12:49) Al Holmes pass completed to WR Shane Carter for 7 yards. Tackled by DE Stephen Palmer, assisted by OLB Luther Paukschus.
1-10-SFO32 (1Q: 12:09) Howard Westbrook ran inside the left tackle for 26 yards. Tackled by CB Rich Markowitz. Key block delivered by Ernie Crane.
1-6-SFO06 (1Q: 11:23) Al Holmes pass completed to RB Howard Westbrook for 4 yards. Tackled by OLB Tyrus Harden.
2-2-SFO02 (1Q: 10:52) Wade Swift ran around the left tackle for 2 yards and a TOUCHDOWN! Key block delivered by Billy Joe Whitlow. Arizona 6, San Francisco 0
(1Q: 10:52) Extra point by Ricky Azzoo was good. Arizona 7, San Francisco 0
(1Q: 10:43) Ricky Azzoo kicked off 61 yards from the ARI30. C.J. Dylla returned the ball 20 yards to the SFO29. Tackled by Wade Swift.
1-10-SFO29 (1Q: 10:10) Gene Zeyen pass completed to WR Demaryius Thomas for 7 yards. Tackled by CB Kyle Wilson. The quarterback threw away from the double coverage.
2-3-SFO36 (1Q: 09:47) Gene Zeyen sacked by DE Damon Myers and DE Darren Garrett for a loss of 5 yards. Sack allowed by Vinny Bellisari. The ball was fumbled and recovered by SFO C.J. Dylla on the SFO31.
3-8-SFO31 (1Q: 09:12) Gene Zeyen pass completed to TE Fendi Onobun for 10 yards. Tackled by CB Jeremy Hines. The quarterback threw away from the double coverage.
1-10-SFO41 (1Q: 08:37) Kelly Barnhardt ran inside the left tackle for 4 yards. Tackled by DE Darren Garrett, assisted by DT Kelly Compton.
2-6-SFO45 (1Q: 07:54) Andy Wilkerson ran around the left tackle for 0 yards. Tackled by DE Alex Hardy.
3-6-SFO45 (1Q: 07:29) Gene Zeyen pass completed to WR Ramses Barden for 10 yards. Tackled by CB Kyle Wilson. The quarterback threw away from the double coverage.
1-10-ARI45 (1Q: 06:43) Andy Wilkerson ran around left end for 10 yards. Tackled by OLB Dwight Tobin. Key block delivered by Mo Coleman.
1-10-ARI35 (1Q: 06:08) Gene Zeyen pass completed to TE Fendi Onobun for 16 yards. Tackled by CB R.J. Terry. The receiver ran his route right over the middle of the field.
1-10-ARI19 (1Q: 05:24) Gene Zeyen pass was thrown incomplete, intended for RB Kelly Barnhardt.
2-10-ARI19 (1Q: 05:19) Gene Zeyen pass completed to TE Fendi Onobun for 10 yards. Tackled by CB Paul Fox, assisted by S Troy Nolan. Onobun gained 5 yards after the catch.
1-9-ARI09 (1Q: 04:55) Andy Wilkerson ran inside the left tackle for 1 yard. Tackled by OLB Brandon Spikes.
2-8-ARI08 (1Q: 04:27) Gene Zeyen pass completed to WR Demaryius Thomas for 3 yards. Tackled by S Taylor Mays.
3-5-ARI05 (1Q: 03:52) Gene Zeyen pass completed to WR Ramses Barden for 5 yards and a TOUCHDOWN! The quarterback threw away from the double coverage. Arizona 7, San Francisco 6
(1Q: 03:52) Extra point by Roger Kowal was good. Arizona 7, San Francisco 7
(1Q: 03:44) Roger Kowal kicked off 69 yards from the SFO30. Kyle Wilson returned the ball 32 yards to the ARI33. Tackled by Brady Dunlap.
1-10-ARI33 (1Q: 03:09) Al Holmes pass completed to WR Winston Farmer for 2 yards. Tackled by CB Rich Markowitz.
2-8-ARI35 (1Q: 02:29) Al Holmes scrambled for 1 yard. Tackled by S Brady Dunlap.
3-7-ARI36 (1Q: 01:51) Al Holmes kept the ball, running around the left tackle for 24 yards. Tackled by S Brady Dunlap. Key block delivered by Billy Joe Whitlow.
1-10-SFO40 (1Q: 01:12) Howard Westbrook ran inside the right tackle for 7 yards. Tackled by DT Ronald Torrice, assisted by S Hardy Rafie. Key block delivered by Billy Joe Whitlow.
2-3-SFO33 (1Q: 00:42) Alex Keyes ran a counterplay inside the left tackle for 1 yard. Tackled by ILB Jerry Hughes, assisted by DT Ronald Torrice.
Start of second quarter.
3-2-SFO32 (2Q: 15:00) Alex Keyes ran a counterplay inside the right tackle for 8 yards. Tackled by CB Rickey Van Diver. Key block delivered by Andre Smith.
1-10-SFO24 (2Q: 14:36) Al Holmes sacked by OLB Luther Paukschus for a loss of 5 yards. Sack allowed by Andre Smith.
2-15-SFO29 (2Q: 14:03) Al Holmes pass completed to WR Jamal Stuart for -1 yards. Tackled by S Gus Horn.
3-16-SFO30 (2Q: 13:30) Al Holmes pass was thrown incomplete, intended for WR Jamal Stuart. The quarterback threw into double coverage.
4-16-SFO30 (2Q: 13:24) Ricky Azzoo attempted a 47 yard field goal and missed wide to the right.
1-10-SFO37 (2Q: 13:18) Kelly Barnhardt ran inside the left guard for 1 yard. Tackled by OLB Brandon Spikes.
2-9-SFO38 (2Q: 12:47) Gene Zeyen pass completed to WR Isaac Webster for 9 yards. Tackled by OLB Greg Erdman.
1-10-SFO47 (2Q: 12:21) Kelly Barnhardt ran around right end for 0 yards. Tackled by DE Tyson Alualu.
2-10-SFO47 (2Q: 11:54) Gene Zeyen pass fell incomplete, intended for WR C.J. Dylla. DE Damon Myers hurried the quarterback into a bad throw.
3-10-SFO47 (2Q: 11:45) Gene Zeyen pass was dropped by WR Demaryius Thomas. The quarterback threw away from the double coverage.
4-10-SFO47 (2Q: 11:35) Reggie Krumrei punted 39 yards. Kyle Wilson returned the kick 21 yards to the ARI35. Tackled by Vinny Bellisari.
1-10-ARI35 (2Q: 11:28) Howard Westbrook ran inside the right guard for 4 yards. Tackled by ILB Willie Collett.
2-6-ARI39 (2Q: 10:47) Al Holmes pass completed to WR Dean Gillespie for 16 yards. Tackled by ILB Max Jeffrey. Gillespie gained 6 yards after the catch.
1-10-SFO45 (2Q: 10:11) Howard Westbrook ran around the left tackle for 16 yards. Tackled by OLB Tyrus Harden. Key block delivered by Gabe Buckner.
1-10-SFO29 (2Q: 09:39) Al Holmes pass completed to RB Howard Westbrook for 6 yards. The receiver went out of bounds. Tackled by CB Jesse Parcells, assisted by S Brady Dunlap. Westbrook gained 6 yards after the catch.
2-4-SFO23 (2Q: 09:09) Howard Westbrook ran inside the right guard for 3 yards. Tackled by S Gus Horn.
3-1-SFO20 (2Q: 08:30) Alex Keyes ran outside the right tackle for 20 yards and a TOUCHDOWN! Key block delivered by Martin Felker. Arizona 13, San Francisco 7
(2Q: 08:30) Extra point by Ricky Azzoo was good. Arizona 14, San Francisco 7
(2Q: 08:12) Ricky Azzoo kicked off 69 yards from the ARI30. Rickey Van Diver returned the ball 29 yards to the SFO30. Tackled by Quinn Johnson.
1-10-SFO30 (2Q: 07:35) Gene Zeyen sacked by DE Tyson Alualu and DE Darren Garrett for a loss of 6 yards. Alualu ran right past Vinny Bellisari and knocked down the quarterback.
2-16-SFO24 (2Q: 06:54) Kelly Barnhardt ran around right end for 4 yards. Tackled by OLB Curtis Lofton.
3-12-SFO28 (2Q: 06:15) Gene Zeyen pass completed to WR Isaac Webster for 12 yards. Tackled by S Troy Nolan. The receiver ran his route right over the middle of the field.
1-10-SFO40 (2Q: 05:35) Gene Zeyen pass was thrown incomplete, intended for TE Craig Stevens. The quarterback threw away from the double coverage.
2-10-SFO40 (2Q: 05:26) Kelly Barnhardt ran inside the left guard for 3 yards. Tackled by DE Damon Myers, assisted by OLB Curtis Lofton.
3-7-SFO43 (2Q: 04:59) Gene Zeyen pass fell incomplete, intended for WR Ramses Barden. CB Jeremy Hines defended the pass.
4-7-SFO43 (2Q: 04:51) Reggie Krumrei punted 47 yards. Kyle Wilson returned the kick 20 yards to the ARI30. Tackled by Ken Silva.
1-10-ARI30 (2Q: 04:43) Al Holmes sacked by DE Stephen Palmer and DT Ronald Torrice for a loss of 5 yards. Sack allowed by Billy Joe Whitlow. The ball was fumbled and recovered by ARI Gabe Buckner on the ARI25.
2-15-ARI25 (2Q: 04:01) Al Holmes pass completed to TE Jumbo Dolan for 8 yards. Tackled by CB Jesse Parcells. The quarterback threw away from the double coverage.
3-7-ARI33 (2Q: 03:28) Al Holmes sacked by DT Ronald Torrice for a loss of 5 yards. Sack allowed by Martin Felker.
4-12-ARI28 (2Q: 02:43) Kenny Morris punted 39 yards. The ball was marked out of bounds at the SFO33.
1-10-SFO33 (2Q: 02:32) Kelly Barnhardt ran around right end for 4 yards. Tackled by S Taylor Mays.
Official time out for the two-minute warning.
2-6-SFO37 (2Q: 02:00) Gene Zeyen pass fell incomplete, intended for WR Jay Emmons. S Taylor Mays defended the pass. The quarterback threw into double coverage.
3-6-SFO37 (2Q: 01:52) Gene Zeyen pass completed to WR C.J. Dylla for 5 yards. Tackled by CB Harris Friday.
4-1-SFO42 (2Q: 01:35) Reggie Krumrei punted 51 yards. The ball was downed at the ARI07.
1-10-ARI07 (2Q: 01:26) Howard Westbrook ran a trap outside the left tackle for -3 yards. Tackled by ILB Max Jeffrey, assisted by S Gus Horn.
2-13-ARI04 (2Q: 00:51) Howard Westbrook ran inside the right tackle for 3 yards. Tackled by ILB Willie Collett.
San Francisco called a time out.
3-10-ARI07 (2Q: 00:43) Al Holmes pass completed to WR Jamal Stuart for 6 yards. Tackled by CB Trevor Strzelczyk. The quarterback threw away from the double coverage.
San Francisco called a time out.
4-4-ARI13 (2Q: 00:32) Kenny Morris punted 54 yards. Isaac Webster returned the kick 7 yards to the SFO40. PENALTY: San Francisco was called for Holding on the Punt Return.
1-10-SFO26 (2Q: 00:25) Andy Wilkerson ran inside the left tackle for 2 yards. Tackled by DE Darren Garrett.
2-8-SFO28 (2Q: 00:03) Kelly Barnhardt ran around right end for 9 yards. Tackled by S Troy Nolan. Key block delivered by Danny Riley.
Start of third quarter.
(3Q: 15:00) Ricky Azzoo kicked off 77 yards from the ARI30. Touchback.
1-10-SFO20 (3Q: 15:00) Kelly Barnhardt ran around left end for 11 yards. Tackled by CB Harris Friday. Key block delivered by Jimmy Fulcher.
1-10-SFO31 (3Q: 14:29) Gene Zeyen pass completed to WR Ramses Barden for 5 yards. Tackled by CB Jeremy Hines.
2-5-SFO36 (3Q: 13:41) Kelly Barnhardt ran around left end for 7 yards. Tackled by DT Kelly Compton. Key block delivered by Mo Coleman.
1-10-SFO43 (3Q: 13:07) PENALTY: San Francisco was called for a False Start.
1-15-SFO38 (3Q: 13:03) Kelly Barnhardt ran inside the left tackle for 8 yards. Tackled by CB Harris Friday. The ball was fumbled and recovered by SFO Craig Stevens for 4 yards to the ARI50. Tackled by Darren Garrett.
2-3-ARI50 (3Q: 12:17) Kelly Barnhardt ran around the left tackle for 17 yards. Tackled by OLB Curtis Lofton, assisted by S Taylor Mays. Key block delivered by Mo Coleman.
1-10-ARI33 (3Q: 11:44) Gene Zeyen pass completed to TE Craig Stevens for 23 yards. Tackled by CB Kyle Wilson, assisted by CB Harris Friday.
1-10-ARI10 (3Q: 11:06) Kelly Barnhardt ran inside the right guard for 2 yards. Tackled by S Taylor Mays.
2-8-ARI08 (3Q: 10:27) Gene Zeyen pass completed to WR Isaac Webster for 7 yards. Tackled by CB Brandon Perkins. The quarterback threw away from the double coverage.
3-1-ARI01 (3Q: 09:54) Ken Silva ran outside the right tackle for -1 yards. Tackled by OLB Brandon Spikes, assisted by DE Tyson Alualu.
4-2-ARI02 (3Q: 09:20) Roger Kowal attempted a 19 yard field goal and succeeded. Arizona 14, San Francisco 10
(3Q: 09:14) Roger Kowal kicked off 70 yards from the SFO30. Taylor Mays returned the ball 34 yards to the ARI34. Tackled by Darryl Huntley.
1-10-ARI34 (3Q: 08:37) Howard Westbrook ran inside the left guard for 3 yards. Tackled by DT Chris Zlotnik, assisted by DE Chuck Ward.
2-7-ARI37 (3Q: 07:55) Al Holmes scrambled for 4 yards. Tackled by DT Torell Troup.
3-3-ARI41 (3Q: 07:25) Howard Westbrook ran outside the right tackle for 11 yards. Tackled by DE Wendell Kostinko. Key block delivered by Martin Felker.
1-10-SFO48 (3Q: 06:57) Alex Keyes ran around left end for 2 yards. Tackled by ILB Max Jeffrey. PENALTY: San Francisco was called for Unsportsmanlike Conduct.
1-10-SFO31 (3Q: 06:50) Wade Swift ran around right end for 15 yards. Tackled by OLB Luther Paukschus. Key block delivered by Andre Smith.
1-10-SFO16 (3Q: 06:09) Howard Westbrook ran inside the right tackle for -2 yards. Tackled by ILB Max Jeffrey.
2-12-SFO18 (3Q: 05:39) Al Holmes pass completed to WR Dean Gillespie for 18 yards and a TOUCHDOWN! Gillespie gained 7 yards after the catch. The quarterback threw away from the double coverage. PENALTY: San Francisco was called for Offsides. The penalty was declined. Arizona 20, San Francisco 10
(3Q: 05:39) Extra point by Ricky Azzoo was good. Arizona 21, San Francisco 10
(3Q: 05:31) Ricky Azzoo kicked off 58 yards from the ARI30. C.J. Dylla returned the ball 21 yards to the SFO33. Tackled by Jeremy Hines.
1-10-SFO33 (3Q: 05:08) Andy Wilkerson ran around the left tackle for 2 yards. Tackled by CB Harris Friday, assisted by DT Kelly Compton.
2-8-SFO35 (3Q: 04:22) Andy Wilkerson ran inside the right guard for 12 yards. Tackled by CB R.J. Terry, assisted by ILB Ronnie Bismonte. Key block delivered by Mo Coleman.
1-10-SFO47 (3Q: 03:40) Gene Zeyen pass was blocked at the line, intended for TE Craig Stevens. DE Sammy Brennan blocked the pass.
2-10-SFO47 (3Q: 03:32) Kelly Barnhardt ran outside the right tackle for 4 yards. Tackled by DE Alex Hardy.
3-6-ARI49 (3Q: 02:46) Gene Zeyen sacked by DE Alex Hardy and DE Sammy Brennan for a loss of 5 yards. Hardy ran right past Danny Riley and knocked down the quarterback.
4-11-SFO46 (3Q: 02:11) Reggie Krumrei punted 52 yards. The ball was downed at the ARI02.
1-10-ARI02 (3Q: 02:00) Alex Keyes ran inside the left tackle for 8 yards. Tackled by DE Stephen Palmer. Key block delivered by Gabe Buckner.
2-2-ARI10 (3Q: 01:33) Alex Keyes ran around left end for -1 yards. Tackled by DE Stephen Palmer.
3-3-ARI09 (3Q: 00:59) Al Holmes pass completed to WR Dean Gillespie for 3 yards. Tackled by CB Jesse Parcells, assisted by CB Wesley Guthrie. Gillespie gained 3 yards after the catch.
1-10-ARI12 (3Q: 00:21) Howard Westbrook ran around right end for 2 yards. Tackled by DT Ronald Torrice.
Start of fourth quarter.
2-8-ARI14 (4Q: 15:00) Al Holmes pass completed to WR Winston Farmer for 2 yards. Tackled by OLB Luther Paukschus, assisted by CB Trevor Strzelczyk. Farmer gained 1 yard after the catch.
3-6-ARI16 (4Q: 14:29) Al Holmes pass completed to WR Dean Gillespie for 3 yards. Tackled by DT Lenny Erickson.
4-3-ARI19 (4Q: 14:03) Kenny Morris punted 49 yards. Isaac Webster returned the kick 2 yards to the SFO34. Tackled by R.J. Terry.
1-10-SFO34 (4Q: 13:54) Gene Zeyen pass was dropped by TE Craig Stevens.
2-10-SFO34 (4Q: 13:45) Gene Zeyen pass completed to TE Fendi Onobun for 3 yards. Tackled by OLB Curtis Lofton.
3-7-SFO37 (4Q: 13:09) Gene Zeyen pass completed to TE Craig Stevens for 11 yards. Tackled by S Taylor Mays. San Francisco's Demaryius Thomas was hurt on the play. This appears to be a minor ribcage injury. He should be able to remain in the game.
1-10-SFO48 (4Q: 12:21) Kelly Barnhardt ran a trap outside the left tackle for 10 yards. Tackled by OLB Brandon Spikes, assisted by DT Kelly Compton. Key block delivered by Mo Coleman.
1-10-ARI42 (4Q: 11:37) Kelly Barnhardt ran around right end for 2 yards. Tackled by S Troy Nolan. DE Tyson Alualu knocked down Edward Wang to break up the play.
2-8-ARI40 (4Q: 11:04) Kelly Barnhardt ran inside the left tackle for 3 yards. Tackled by S Troy Nolan.
3-5-ARI37 (4Q: 10:30) Gene Zeyen pass was intended for TE Fendi Onobun and was intercepted by OLB Brandon Spikes at the ARI19. Tackled by Fendi Onobun.
1-10-ARI19 (4Q: 10:19) Howard Westbrook ran outside the right tackle for 1 yard. Tackled by DE Chuck Ward, assisted by OLB Luther Paukschus.
2-9-ARI20 (4Q: 09:34) Wade Swift ran inside the left tackle for 17 yards. Tackled by ILB Jerry Hughes. Key block delivered by Billy Joe Whitlow.
1-10-ARI37 (4Q: 09:01) Wade Swift ran outside the right tackle for 3 yards. Tackled by ILB Willie Collett.
2-7-ARI40 (4Q: 08:18) Alex Keyes ran outside the right tackle for 15 yards. Tackled by CB Rickey Van Diver, assisted by ILB Willie Collett. Key block delivered by Chris Cherpeski.
1-10-SFO45 (4Q: 07:42) Alex Keyes ran outside the right tackle for 3 yards. Tackled by S Hardy Rafie.
2-7-SFO42 (4Q: 06:54) Alex Keyes ran around the left tackle for 0 yards. Tackled by ILB Jerry Hughes.
3-7-SFO42 (4Q: 06:10) Howard Westbrook ran inside the left tackle for 7 yards. Tackled by DT Ronald Torrice. Key block delivered by Martin Felker.
1-10-SFO35 (4Q: 05:24) Howard Westbrook ran around the left tackle for 4 yards. Tackled by DE Stephen Palmer, assisted by DT Ronald Torrice.
2-6-SFO31 (4Q: 04:38) Howard Westbrook ran inside the right guard for 3 yards. Tackled by DT Ronald Torrice.
3-3-SFO28 (4Q: 03:51) Howard Westbrook ran a draw inside the left guard for -2 yards. Tackled by OLB Luther Paukschus, assisted by DT Ronald Torrice.
4-5-SFO30 (4Q: 03:07) Ricky Azzoo attempted a 47 yard field goal and missed wide to the right. Arizona's Dean Gillespie was hurt on the play. This appears to be a minor neck injury. He should be able to remain in the game.
1-10-SFO37 (4Q: 03:01) Gene Zeyen pass was blocked at the line, intended for WR C.J. Dylla. DE Darren Garrett blocked the pass.
2-10-SFO37 (4Q: 02:54) Gene Zeyen pass completed to WR Isaac Webster for 21 yards. Tackled by S Taylor Mays. Webster gained 6 yards after the catch.
1-10-ARI42 (4Q: 02:36) Gene Zeyen sacked by DT Kelly Compton and DE Darren Garrett for a loss of 5 yards. Sack allowed by Josh Willis. The ball was fumbled and recovered by ARI Kelly Compton on the ARI47.
1-10-ARI47 (4Q: 02:20) PENALTY: Arizona was called for a False Start.
1-15-ARI42 (4Q: 02:20) Alex Keyes ran around the left tackle for 1 yard. Tackled by DE Stephen Palmer, assisted by OLB Luther Paukschus. The defense looked very familiar with that play.
San Francisco called a time out.
2-14-ARI43 (4Q: 02:10) Alex Keyes ran inside the right guard for 1 yard. Tackled by OLB Tyrus Harden.
San Francisco called a time out.
3-13-ARI44 (4Q: 02:02) Al Holmes kept the ball, running around left end for 10 yards. Tackled by CB Rich Markowitz, assisted by DE Stephen Palmer.
Official time out for the two-minute warning.
4-3-SFO46 (4Q: 01:55) Kenny Morris punted 46 yards. Touchback.
1-10-SFO20 (4Q: 01:50) Gene Zeyen pass fell incomplete, intended for WR Jay Emmons. CB Brandon Perkins defended the pass. The quarterback threw into double coverage.
2-10-SFO20 (4Q: 01:40) Gene Zeyen pass fell incomplete, intended for WR Ramses Barden. OLB Curtis Lofton defended the pass. The defense looked very familiar with that play.
3-10-SFO20 (4Q: 01:31) Gene Zeyen pass completed to WR Isaac Webster for 21 yards. Tackled by CB Harris Friday. Webster gained 13 yards after the catch. The quarterback threw into double coverage.
1-10-SFO41 (4Q: 01:12) Gene Zeyen pass completed to WR Demaryius Thomas for 12 yards. Tackled by CB Paul Fox, assisted by S Juan Lockard.
San Francisco called a time out.
1-10-ARI47 (4Q: 01:01) Gene Zeyen pass was dropped by FB Ricardo Arndorfer. PENALTY: Arizona was called for Offsides.
1-5-ARI42 (4Q: 01:01) Gene Zeyen pass was intended for WR Demaryius Thomas and was intercepted by CB Jeremy Hines at the ARI27. The interception was returned 11 yards. Tackled by Demaryius Thomas.
1-10-ARI38 (4Q: 00:50) Al Holmes dropped to one knee for -2 yards.
2-12-ARI36 (4Q: 00:03) Al Holmes dropped to one knee for -2 yards.
Final Score: Arizona Cardinals 21, San Francisco 49ers 10