Updated

The replacement referee made a mistake that could have cost the Arizona Cardinals a season-opening loss to Seattle.

Instead, Seahawks rookie Russell Wilson's final three passes from the Arizona 4-yard line fell incomplete, and Kevin Kolb gained a measure of retribution.

A little over a week after he found out he would not be Arizona's starting quarterback, Kolb replaced the injured John Skelton and operated the no-huddle offense to near perfection on the deciding touchdown drive.

It culminated with a 6-yard touchdown pass to Andre Roberts with 4:59 to play, and the Cardinals withstood a frantic, last-second Seattle charge.

"It was pretty special, I'm not going to lie," Kolb said.

Even Arizona's defensive players were praising Kolb.

"I want to talk about Kevin Kolb. Let's talk about how poetic that was," safety Adrian Wilson said. "John got all the reps, and he (Kolb) came in there and led the game-winning drive. Defensively, we just went out there and did our job. Kevin is really the one that should be talked about right now."

Aided by two pass interference penalties, Seattle drove to the Arizona 4-yard line in the final seconds. But Wilson threw three straight incompletions and the Cardinals held on.

"I felt great about the opportunities we had," Wilson said. "We put ourselves in a good position. We just fell short. That is going to happen a few times."

Adding to the late-game confusion, Seattle called a timeout with 30 seconds to go when it appeared it had none remaining. Two plays earlier, the Seahawks had a player hurt and should have lost their final timeout in the process.

But referee Bob Hermansen announced to the crowd that because the clock had stopped on that play, no timeout was taken from Seattle. Therefore, the Seahawks still had one to call when Seahawks coach Pete Carroll called it.

After the game, Hermansen issued a statement saying he had made a mistake.

"It was my error," he said. "We gave them (the Seahawks) the additional timeout because of the incomplete pass stopping the clock before the injury occurred when, in effect, the clock has no bearing on the play at all, whether it's stopped or running. We should not have given them the additional timeout."

Kolb, who found out nine days earlier he had lost out to Skelton in the competition to start at quarterback for Arizona, was 6 of 8 for 66 yards on the winning drive.

"He just got in rhythm and ripped some balls in there," Carroll said. "We were all over every one of those throws. He is a gunslinger, he has always been like that. He just came in and was shooting from the hip and did a great job."

There were a few boos from the crowd when Kolb entered the game.

"I really didn't hear it until somebody said it to me in the locker room," he said. "It went from boos to cheers in a matter of three plays, but that's the way this league is."

Wilson, who beat out Matt Flynn for Seattle's starting quarterback job, completed 18 of 34 passes for 153 yards and a touchdown. He was intercepted once.

"I thought Russell battled," Carroll said. "They pressured a lot and made it tough on us but he hung in there, came back, and did a very nice job getting us back into the game in the second half."

Marshawn Lynch, questionable for the game after a sore back limited him in practice, carried 21 times for 85 yards.

Seattle scored 13 consecutive points to go up 16-13 on Steven Hauschka's 39-yard field goal, and Arizona's offense had done nothing in the second half.

Then, on a 17-yard pass to Roberts, Skelton was hit and crumpled to the ground with an injured right ankle. Skelton was carted off the field and Kolb promptly overthrew Larry Fitzgerald. But he completed six of his next seven throws, the last to Roberts, who stretched the ball over the pylon on the left sideline. A pass interference penalty against Seattle's Richard Sherman aided the drive.

Arizona coach Ken Whisenhunt was running along the sideline trying to call a time out as Kolb ran what proved to be the winning play.

"I didn't make it, thank goodness," Whisenhunt said. "Thank God for small favors, right?"

Whisenhunt said preliminary tests showed no fracture in the Skelton's ankle.

"It appears to be a sprain," the coach said. "We will have a better idea on severity and potential time loss in the next day or so."

The ref's mistake didn't cost Arizona the game, or it would have been the subject of a lot more discussion afterward.

"I'll ask for clarification from the league about that rule," Whisenhunt said, "but I thought that in the rule book it says that in the last two minutes of a half, if a player is injured then you have a timeout, they take that timeout. That's what I thought."

He was right.

Leon Washington had an 83-yard kickoff return and 52-yard punt runback to set up 10 points for Seattle in what was mostly a penalty-laden defensive struggle.

One of Arizona's biggest plays came in the third quarter, when Russell tossed the ball to Lynch, who was hit hard by linebacker Sam Acho. The ball came loose on what initially was ruled an incomplete pass. Whisenhunt challenged, and after a review it was reversed and called a lateral. Paris Lenon had recovered and returned it to the Seattle 17, and Jay Feely's 31-yard field goal put the Cardinals ahead 13-3.

Washington took the subsequent kickoff 83 yards and Wilson threw over the middle to Rice for the rookie quarterback's first NFL touchdown pass.

On the first play after the Seattle kickoff, Skelton attempted to throw the ball away, but Sherman made a tiptoe interception on the sideline at the Arizona 34. That set up Hauschka's 47-yard field goal that tied it 13-13.

Washington's long punt return set up Hauschka's go-ahead field goal.

Notes: The Cardinals beat Seattle in Arizona for the second time. They won last season's finale in OT. ... Arizona's 6-foot-8 Calais Campbell deflected Hauschka's 50-yard field goal try, his sixth career block. He blocked three FGs last season. ... Skelton was 3 of 11 for 25 yards in the second half.