Estimated read time: 5-6 minutes
SAN FRANCISCO (AP) -- Alex Smith acknowledged he couldn't have played much worse in the first 57 minutes of the San Francisco 49ers' opener, which made his final three minutes even more stunning.
Yet no matter the year or the coaching staff, there's nothing surprising about another gut-wrenching loss for the Arizona Cardinals.
Arnaz Battle scored on a 1-yard end-around with 22 seconds to play, and the 49ers erased an inept offensive performance with an 86-yard scoring drive to cap a 20-17 victory over the Cardinals in the NFL's final opener Monday night.
Smith knew he looked terrible until leading that near-flawless march on chilly Bill Walsh Field for the 49ers, who beat the Cardinals for the first time in five tries during coach Mike Nolan's tenure.
"The win is the most important thing, ugly or not," Smith said. "I think we [showed] character to really hang in there and know we were going to get it done."
Smith finished 15-of-31 for 126 yards -- 60 on the final drive. The third-year quarterback also made a key 25-yard scramble on fourth-and-1, and Battle hauled in a gutsy catch at the 1 before running it in for the decisive score.
"Offensively, we saved our best for last, which is the best thing I can say for us," Nolan said.
Both teams' high-priced offenses floundered amid the swirling winds in the first game since the field was renamed in Walsh's honor -- but the Cardinals' slip was particularly cruel, even by Arizona standards.
Anquan Boldin caught a 5-yard touchdown pass from Matt Leinart with 6:40 to play for the Cardinals, who kept the 49ers out of the end zone for 55 straight minutes between Frank Gore's early score and Battle's final TD.
"The defense held up the whole game until that last drive," cornerback Eric Green said. "You can play great the whole way, but if you mess up one play, it's like you didn't play well at all."
Arizona's defense finally bent at the end, handing new coach Ken Whisenhunt a typically crushing Cardinals loss in his debut. He's the ninth straight coach to lose his first game with the Cards.
A look at the stat sheet will hurt: Arizona held the 49ers to 194 total yards, just 30 in the second half -- until that final drive.
"We had a chance at the end," Whisenhunt said. "We hung in there, we fought, but we just didn't get it done. Just a disappointing loss for our football team."
Edgerrin James rushed for 92 yards and a score, and Leinart was 14-of-28 for 102 yards with two interceptions in the meeting between two long-struggling NFC West clubs with cautiously high hopes for the season.
"I'm very disappointed in myself, the way I played as the leader of this football team," Leinart said. "It starts with me getting the ball to the right guy and making the plays. I didn't do that. That falls on me. We're not going to win football games if I play like that at quarterback."
After Leinart hit Boldin to cap the Cardinals' go-ahead drive, San Francisco finally got something going two series later.
After Darrell Jackson let a 45-yard pass go through his hands in the end zone with 1:37 left, Smith scrambled to the Arizona 20 on the Niners' longest play of the game. Battle then caught a pass near the goal line with about 30 seconds left, but safety Terrence Holt knocked it out of his hands as he stretched for a touchdown.
The ball dribbled into the end zone, where Green misplayed it and Jackson recovered. Because only the fumbler can recover for his team if the ball goes forward in the final two minutes, it was placed at the 1.
Battle, who promised a steak dinner to Jackson for recovering the fumble, scored on the next play.
Whisenhunt remained mystified by the rulings around Battle's catch at the 1.
"I asked them, and they said they thought it was a catch," Whisenhunt said. "I went to the official and asked him, are they going to review it? He said they came back and said it was a catch. I didn't see it. I saw it on the screen. The only thing I saw was the ball coming out."
Shawntae Spencer intercepted Leinart's final pass with 8 seconds left.
Gore rushed for 55 yards and an early score after sitting out the entire preseason to heal his broken right hand. Even while wearing their cherry-red throwback uniforms, the San Francisco offense struggled without a big game from its catalyst.
"They came at us with a tough defensive scheme, but somehow we were able to put together that last drive," Gore said. "I feel we can move the ball against anyone."
Both quarterbacks made turnovers that led to touchdowns in a defense-dominated first half.
Leinart's first pass of the night was easily intercepted by Pro Bowl cornerback Walt Harris, and Gore scored on a 6-yard run just 3½ minutes in. But Smith fumbled midway through the second quarter when linebacker Karlos Dansby easily eluded Gore's block for a sack. James capped the short drive with a 7-yard scoring run.
Game notesThe 49ers honored Walsh, who died of leukemia on July 30, with a halftime tribute that included a short film. The club unveiled a plaque in Walsh's memory, and the coach's initials were added to the ring of honor on Candlestick Park's facade. ... Arizona lost new C Al Johnson to a left knee injury in the opening minute of the second half, forcing undrafted rookie Lyle Sendlein into action.