GLENDALE, Ariz. -- The San Francisco 49ers had made Larry Fitzgerald almost irrelevant on Sunday, until the final play that won the game for the Arizona Cardinals.
Carson Palmer threw 19 yards to Fitzgerald with 32 seconds left in overtime for the contest's only touchdown and the Cardinals escaped with an 18-15 victory that kept the 49ers winless under new coach Kyle Shanahan.
"He's the best I've ever seen," Palmer said of his star receiver, "and I've seen some really good ones."
The scoring had been limited to nine field goals on an ugly afternoon in the desert before Palmer directed a seven-play, 75-yard drive with 1:52 to play.
"We're in two-minute, it worked better," Arizona coach Bruce Arians said. "We protected better. We gave him a chance. They were giving us Andre (Ellington) underneath, and he was taking it. Andre was making things happen."
So, eventually, was Fitzgerald.
He had three catches for 13 yards before the winning grab as the 49ers made him the emphasis of their defense, except on the last play.
Palmer said he noticed two defenders were changing sides of the field, leaving Fitzgerald 1-on-1. Palmer loves those odds.
Arizona's standout receiver, in his 14th pro season, rose to catch the ball under tight coverage by Rashard Robinson.
Fitzgerald, who matched a career high with 13 catches in last Monday night's loss to Dallas, came down with the ball under his ribs, knocking the wind out of him.
"Consciously, I knew that we had just won the game," he said, "but I couldn't breathe so it was hard to really kind of be animated and celebrate."
Robbie Gould kicked his fifth field goal, a 23-yarder with 2:24 left in overtime to put the 49ers ahead 15-12.
Phil Dawson - who had uncharacteristically missed a field goal in each of the first three games - made four for the Cardinals (2-2), whose two victories both have come in overtime.
The 49ers (0-4), losing to the Cardinals for the fifth time in a row, won the coin toss to start the overtime. They used up 7:36 of the extra session, which was shortened from 15 to 10 minutes this season.
Palmer went 6 of 7 for 77 yards on the winning drive. Under duress all day behind an injury-riddled offensive line, he completed 33 of 51 for 357 yards and was intercepted in the end zone on a tipped pass on the game's opening series. Palmer was sacked six times, four in the fourth quarter, by a 49ers team that had three sacks total in the first three games.
Gould, who hasn't missed a field goal since 2015 (21 for 21), connected from 49, 39, 47, 48 and 23 yards.
Dawson, replaced by Gould as 49ers kicker this season, was 4 for 4, making field goals of 29, 43, 50 and 32 yards.
San Francisco failed to score a touchdown for the third time this season and has lost its first four games for the first time since 2010.
There were a combined 23 penalties for 193 yards, 13 against the 49ers for 113 yards, 10 against Arizona for 80.
Carlos Hyde gained 68 yards in 16 tries for the 49ers. Brian Hoyer completed 24 of 49 for 234 yards with one interception.
"You got to throw and catch better," Shanahan said. "It is as simple as that, at least it was in this game. Guys are open, you got the time, you got to hit them. When he does hit you, you have to catch it. I know nobody is perfect but there was way too much of that between both positions."
Arizona took the opening kickoff and went 71 yards in 13 plays to the San Francisco 4. But on third down, Jimmie Ward tipped Palmer's pass and Ray-Ray Armstrong intercepted in the end zone.
The Niners took the lead by moving from their 24 to the Arizona 31, where Gould's 49-yard field goal made it 3-0. And the field goal fight was on.
ANTHEM: The 49ers, with whom the national anthem issue began with Colin Kaepernick's kneeling during it more than a year ago, had their first chance to react to President Donald Trump's criticism of athletes kneeling during the song. The players formed two lines. Those in the front kneeled and the players in the back remained standing, setting off a round of boos at University of Phoenix Stadium.
Many of the standing players placed one hand on their heart, the other on the shoulder of a kneeling teammate in a sign of solidarity.
The most significant injury appeared to be a knee to Arizona outside linebacker Markus Golden in the overtime. Arians said he had no idea how serious it is. San Francisco lost wide receiver Marquise Goodwin with an apparent concussion and defensive back Adrian Colbert with a hamstring injury.
49ers: At Indianapolis next Sunday.
Arizona: At Philadelphia next Sunday.
For more NFL coverage: http://www.pro32.ap.org and http://www.twitter.com/AP_NFL