GLENDALE, Ariz. -- The Arizona Cardinals didn't get a great game from its defense, just two great plays.
The result was another wild win at home.
Jay Feely kicked a 46-yard field goal 6:31 into overtime to keep the Cardinals unbeaten with a 24-21 victory over the Miami Dolphins on Sunday.
Arizona (4-0) forced overtime when Kevin Kolb threw a 15-yard touchdown pass on fourth down to Andre Roberts with 22 seconds to play in regulation.
The Cardinals are off to their best start since winning their first seven 38 years ago. They've won 9 of 11 overall and eight straight at home. Of those eight wins, five have come in overtime.
"That's how we do it," Roberts said. "I don't know what it is about us. We have to take it down to the last moment of the game, but we're winning and that's all that matters."
Are they just lucky?
"It's not luck, I can tell you that," coach Ken Whisenhunt said. "It can't be luck as many times as we've been successful with that."
Miami rookie Ryan Tannehill threw for 431 yards but his two turnovers on two big hits from the Cardinals' defense led to Arizona's final two scores.
First, Daryl Washington sacked the Tannehill, whose fumble was recovered by Vonnie Holliday at the Arizona 49 and the Cardinals moved downfield to score.
The winning field goal came after Tannehill was hit by Paris Lenon as he threw and Kerry Rhodes came up with an interception.
Brian Hartline set a Dolphins record with 253 yards receiving on 12 catches. Miami outgained Arizona 480-297.
"I am kind of speechless," Hartline said. "I really don't know what to say. ... Losing isn't funs but there are games where you just get beat. I don't mind saying it - I don't feel we got beat."
Arizona was only too happy to force overtime.
"Fortunately for us, the overtime thing continues to work for us," Whisenhunt said. "It wasn't pretty. We've got a lot of things we've got to correct, but there's a lot of fight in our team. To be able to hang in there, make some plays at the end and win the game, it goes a long way to building confidence in what you can do."
Kolb was 29 of 48 for 324 yards and three touchdowns, two to Roberts and one to Larry Fitzgerald. He was sacked eight times, 4 1/2 by Cameron Wake, and threw two interceptions. One pick came after Patrick Peterson's 61-yard fumble return gave the Cardinals the ball at the Miami 3.
Sean Smith stepped in front of Fitzgerald to make the pick in the end zone, his second interception. On the next play, Tannehill found Hartline wide open on an 80-yard touchdown play. The abrupt turnaround, capped by a 2-point conversion pass from Tannehill to Javorskie Lane, put the Dolphins ahead 21-14 with 7:05 left.
Debate: Asterisk on 2012 season?
The regular refs are back, but what are the replacements' lasting effects on Aaron Rodgers and the rest of the NFL? **More ...**
On second-and-8, Washington burst through untouched and slammed into Tannehill, jarring the ball loose. Holliday jumped on it at the Arizona 49.
Kolb was sacked on the first two plays to make it third-and-18 at the Arizona 42. He completed 16-yard pass to Roberts, then on fourth-and-2 threw for 9 yards again to Roberts to the 34. Completions to Fitzgerald and Roberts put the ball on the 15. Three passes fell incomplete before on fourth down as time running out, Kolb found Roberts just inside left sideline for the score.
Arizona won the toss to get the ball first in OT but went nowhere. After a punt, Tannehill was hit as he threw by Lenon up the middle and Rhodes hauled in the ball and returned it 5 yards to the Miami 47.
Five plays later, Feely's field goal cleared the crossbar without a lot to spare.
The Cardinals' vaunted defense schemed to shut down the running game of Reggie Bush and the rest of the Dolphins and make Tannehill beat them, and he nearly did as Miami took a 13-0 halftime lead.
The Cardinals cut it to 13-7 on Kolb's 2-yard TD pass to Fitzgerald, capping a drive that came after Dan Carpenter, who missed a pair of long field goals against the Jets, was wide right from 51 yards.
Arizona, struggling on offense all day up to that point, made two big plays to take a 14-13 lead. First, Kolb threw over the middle 32 yards to tight end Rob Housler to the Miami 46, then Roberts got behind ex-Cardinal Richard Marshall, racing to the end zone for a touchdown with 9:45 to play.
NOTES: Miami's previous franchise record for yards receiving in a game was 238 (on 15 catches) by Chris Chambers against Buffalo on Dec. 4, 2005. ... Fitzgerald caught a pass for the 121st consecutive game, tying the franchise record held by Mel Gray. It's second-longest active streak in NFL behind Tony Gonzalez (183). ... Fitzgerald had 1 catch for 2 yards in the first half. ... Feely was called for unnecessary roughness on the second-half kickoff. ... Wake increased his career sack total to 42.5. ... Arizona DT Darnell Dockett (hamstring) missed a game for only the second time in his career.
Copyright 2012 by The Associated Press