Stephen Gostkowski missed a 42-yard field goal with one second to play and the visiting Cardinals held off a wild comeback bid by the Patriots.

Arizona led most of the game and appeared headed for the victory until running back Ryan Williams fumbled on a third down play with just over a minute left. New England moved the ball down the field to set up a potential game-winning field goal by Gostkowski, but the veteran kicker missed the attempt badly to the right.

Kevin Kolb rushed for one score and threw for another as the Cardinals handed the Patriots their first loss in a home opener since 2001. Kolb finished 15 for 27 passing for 140 yards and capped a drive early in the fourth quarter with 5-yard quarterback sneak to extend the lead to 20-9 for the Cardinals (2-0), who snapped a five-game losing streak against New England.

Trailing by eight points late in the fourth quarter, Tom Brady drove the Patriots 82 yards, capped by a 6-yard touchdown pass to Rob Gronkowski to cut the deficit to 20-18. Brady tried to hook up with Gronkowski again on the two-point conversion but the pass fell incomplete. Brady finished 28 for 46 passing for 316 yards for New England (1-1), which had won 24 of its last 25 home games.

The Patriots trailed most of the game but took a short-lived lead early in the third quarter on a 51-yard field goal by Gostkowski. But following a blocked punt, the Cardinals took over at the Patriot 10-yard line and Kolb hit Andre Roberts from 2 yards out to give the Cardinals a 13-9 lead.

GAME NOTEBOOK: New England lost TE Aaron Hernandez to an ankle injury early and its offense looked out of sync the rest of the way. X-rays on Hernandez were negative and he was diagnosed with a high ankle sprain. ... Kolb started at QB for the Cardinals in place of John Skelton (ankle). ... Patriots RB Stevan Ridley rushed for 71 yards on 18 carries. The second-year running back rushed for a career-high 125 yards in New England's opener, equaling the number of 100-yard performances the Patriots had all of last year.