Bradford injured his left shoulder and sustained a concussion on a hard hit by McCain in the third quarter and didn't return, though X-rays on his shoulder were negative.
Sanchez drove the Eagles to the Dolphins 8 late in the fourth quarter, but Jones intercepted his pass in the end zone. Miami's defense held again in the final minute.
The Dolphins (4-5) snapped a two-game losing streak with the upset over the Eagles (4-5).
After Bradford was injured, the Dolphins went ahead 20-16 early in the fourth quarter.
Tannehill connected with Rishard Matthews for 43 yards to the Eagles 8. He then tossed a TD pass to Landry on a ball that was deflected and sailed high in the air.
Caleb Sturgis made a 37-yard field goal to get Philadelphia within 20-19, but he didn't get a chance to try another. Sturgis missed from 32 yards in the first half.
The Eagles started fast for change.
Bradford led them on touchdown drives on their first two possessions with a safety sandwiched in between, giving Philadelphia more points (16) in the first quarter against the Dolphins than it had in the first quarter of their first eight games combined (10).
Bradford hit Celek for a 60-yard gain on the first play from scrimmage and scrambled away from defenders to toss a 2-yard TD pass to Josh Huff for the team's first TD on the opening drive this season.
After a major blunder by returner Damien Williams on the kickoff -- he tried to bring it out from deep in the end zone, fumbled, picked it up at the 1 and went down -- Walter Thurmond sacked Tannehill on a blitz and he fumbled out of the end zone for a safety.
Ryan Mathews ran in from the 1 on Philadelphia's next possession to make it 16-3.
But the Eagles' next drive ended when Sturgis missed from 32 and Miami scored 10 straight points to get within 16-13.
First, they drove to the Eagles 5 but settled for a 22-yard field goal. Jay Ajayi had runs of 20 and 24 yards on the drive.
The Dolphins forced Philadelphia's first punt on the ensuing drive and Zach Vigil blocked it out of bounds at the Eagles 12. Tannehill then tossed a 13-yard TD pass to Lamar Miller to cut it to 16-13.
Andrew Franks hit a 42-yard field goal to give Miami a 3-0 lead on the opening drive.