Two big defensive plays set up the final two Arizona scores. First, Daryl Washington sacked rookie Ryan 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.
Tannehill threw for 431 yards. Brian Hartline set a Dolphins record with 253 yards receiving on 12 catches.
Arizona has won eight straight at home and 11 of 13 overall, but this one like so many before it was decided by a whisker.
The Cardinals, 4-0 for the first time since winning their first seven in 1974, have played five overtime games in their last 13, winning them all. The Dolphins (1-3) lost their second straight overtime game. They lost 23-20 last week to the Jets.
Kolb was 29 of 48 for 324 yards and three touchdowns, two to Roberts and one to Larry Fitzgerald. But he was sacked eight times and threw two interceptions, one from the Miami 3-yard line after Patrick Peterson's 61-yard fumble return had given the Cardinals the ball on the Miami 3 in the fourth quarter.
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. The Cardinals went three and out after the subsequent kickoff and a 15-yard run by Reggie Bush, who played despite bruising a knee a week earlier, helped move the ball to the Arizona 43.
On second and eight, Washington burst through untouched and slammed into Tannehill, jarring the ball loose. Holliday, in his 15th NFL season, 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. A 9-yard pass to Fitzgerald and 10-yarder to Michael Floyd put the ball on the 115. But three passes fell incomplete before on fourth down as time running out, Kolb found Roberts on the left sidelines for the score.
Arizona won the toss to get the ball first in OT but went nowhere. After the 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.
On third-and-8 from the Dolphins 45, Kolb threw 10 yards to Early Doucet. Ryan Williams had runs of 2, 4 and 1 yards before turning it over to Feely, whose kick cleared the crossbar without a whole lot to spare.
The Cardinals' vaunted defense schemed to shut down the run and make Tannehill beat them, and he nearly did as the Dolphins took a 13-0 halftime lead.
The Cardinals cut it to 14-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.
In the first half, the only big plays came from Miami.
Tannehill's' 57-yard pass to Hartline, who beat cornerback William Gay repeatedly, put Miami on the Arizona 7. O'Brien Schofield sacked Tannehill for a 14-yard loss to the 20, but the Miami quarterback followed with a 19-yard pass to Hartline to the Cardinals' 1.
The Dolphins went for it on fourth down, and Lane bulled over for the score, only the third touchdown allowed by Arizona this season, to put Miami up 10-0 with 1:56 left in the half.
Kolb then threw behind Fitzgerald and Smith intercepted, returning it 31 yards to the Arizona 34. Miami advanced to the 9, and Carpenter's 27-yard field goal made it 13-0 with 3 seconds left in the half. The pick ended Kolb's string of 106 passes without an interception.
Miami 0 13 0 8 0 21
Arizona 0 0 7 14 3 24
Mia • FG Carpenter 32, 13:15.
Mia • Lane 1 run (Carpenter kick), 1:56.
Mia • FG Carpenter 27, :03.
Ari • Fitzgerald 3 pass from Kolb (Feely kick), 9:46.
Ari • Roberts 46 pass from Kolb (Feely kick), 9:45.
Mia • Hartline 80 pass from Tannehill (Lane pass from Tannehill), 7:05.
Ari • Roberts 15 pass from Kolb (Feely kick), :22.
Ari • FG Feely 46, 8:29.
Attendance • 60,183.
First downs 21 19
Total Net Yards 480 297
Rushes-yards 29-86 15-28
Passing 394 269
Punt Returns 2-9 4-18
Kickoff Returns 1-23 3-90
Interceptions Ret. 2-31 2-5
Comp-Att-Int 26-41-2 29-48-2
Sacked-Yards Lost 4-37 8-55
Punts 5-44.2 9-48.3
Fumbles-Lost 2-2 4-0
Penalties-yards 4-40 6-62
Time of Possession 35:00 31:31
Rushing • Miami, Bush 17-67, Miller 4-13, Thomas 4-4, Lane 3-2, Tannehill 1-0. Arizona, R.Williams 13-26, Powell 2-2.
Passing • Miami, Tannehill 26-41-2-431. Arizona, Kolb 29-48-2-324.
Receiving • Miami, Hartline 12-253, Bess 7-123, Fasano 5-30, Naanee 1-19, Thomas 1-6. Arizona, Fitzgerald 8-64, Roberts 6-118, Floyd 4-35, Doucet 4-31, Housler 2-48, King 2-22, Powell 2-6, R.Williams 1-0.
Missed Field Goals • Miami, Carpenter 51 (WR).