Miami Dolphins 31, San Francisco 49ers 24

These are the highest-graded players and top takeaways from the Dolphins' win over the 49ers.

Quarterback grade: Ryan Tannehill, 91.0

Tannehill carves up the 49ers after Thanksgiving

This was a spectacular display of downfield passing from Ryan Tannehill, even if the final stat line doesn’t quite do his performance full justice. Fractions of an inch away from two more big plays to DeVante Parker, Tannehill still put up 174 yards and two touchdowns on throws targeted 10 or more yards down the field. Tannehill exploited a strong day in pass protection from his patchwork offensive line (pressured on just eight of his 34 dropbacks) to dice up the 49ers’ secondary with a 150.3 passer rating from a clean pocket. The 49ers' comeback takes some of the sheen off the team performance but it should do little to deflect from what a fine performance Tannehill put up in the Dolphins’ sixth-straight victory.

Top offensive grades:

RT Ja’Wuan James, 82.7

LG Kraig Urbik, 79.7

WR DeVante Parker, 72.3

C Anthony Steen, 69.9

WR Kenny Stills, 67.5

Patchwork offensive line stands up in pass protection

Injuries forced a thorough reshuffling of the Miami offensive line and with that forced a change of identity in the Miami offense. The patchwork offensive line couldn’t sustain the run-first profile of the Dolphins in recent weeks with Jay Ajayi limited to 45 yards on 18 carries with only 13 of those coming before contact. However, in pass protection they held up well, only allowing pressure on Ryan Tannehill on eight dropbacks in the entire game. Jarvis Landry had an uncharacteristically off game with a pair of drops but Tannehill hooked up with the likes of Dion Sims, Kenny Stills and DeVante Parker for big plays that gave the Dolphins just enough cushion to survive the 49ers’ late rally.

Top defensive grades:

CB Byron Maxwell, 86.8

DE Cameron Wake, 82.5

CB Tony Lippett, 80.6

S Michael Thomas, 77.5

S Bacarri Rambo, 77.4

Wake brings the heat and Maxwell seals the deal

The Dolphins continued to work Cameron Wake in during favorable scenarios, rushing the passer on 38 of his 51 snaps in the game, and he repaid them with at least one sack, hit and hurry for the third-straight week. With the Dolphins establishing a big lead Wake got after San Francisco RT Trenton Brown to force Colin Kaepernick off his spot consistently, even if the results after that were inconsistent with the Dolphins unable to consistently control Kaepernick when he took flight. Eventually though they did see out the victory and Byron Maxwell came up with one of the key plays, breaking up the first down pass at the end of the game (his second pass breakup), having come inches away from forcing Jeremy Kerley out of bounds a play earlier.

Quarterback grade: Colin Kaepernick, 79.6

Kaepernick exploits Dolphins’ defense in space

Through the air and on the ground Colin Kaepernick ensured the Dolphins had a torrid day on defense chasing him around the field. Though there were still the quantity of misses that you come to expect from a Kaepernick performance, he hit on plenty of throws and the Dolphins seemed unprepared and unable to adjust to his threat on read option plays and as a scrambler. 80 yards on scrambles along with 33 yards on four read option runs tipped Kaepernick over 100 yards rushing to go with a strong effort, particularly throwing over the middle of the field. Kaepernick stood in under pressure and made Miami pay for their blitzes (122.8 passer rating against the blitz) but ultimately came up a play short of completing what seemed an unlikely comeback.

Top offensive grades:

LT Joe Staley, 78.1

HB Carlos Hyde, 77.3

LG Zane Beadles, 74.2

TE Vance McDonald, 72.9

WR Rod Streater, 71.1

Strong start and strong finish but 49ers lose ground in between

The 49ers started this game strong with powerful run blocking from the likes of Staley, Beadles and RG Joshua Garnett opening up the Miami defense for Carlos Hyde and leaving them vulnerable to Colin Kaepernick’s threat keeping on read option. The comeback at the end showed San Francisco’s ability to put it together through the air as well with Kaepernick hitting backs, receivers, and tight ends to bring the 49ers to the brink of breaking their nine-game losing streak. Ultimately, they left themselves with too much work to do however. Just enough disconnect in terms of pressure allowed by the offensive line, enough missed throws by Kaepernick and a few drops by the receivers held the 49ers short of a huge comeback.

Top defensive grades:

DE Christopher Jones, 77.9

LB Gerald Hodges, 77.5

NT Glenn Dorsey, 76.1

DE Ronald Blair, 73.9

CB Rashard Robinson, 70.5

Defensive front puts the clamps on Ajayi

The San Francisco 49ers’ run defense has been poor this season but in his first game since being cut by the Dolphins, Christopher Jones and the rest of the 49ers’ defensive starters put in a strong showing to take Ajayi away as a factor in the victory. Ajayi’s one big run in the game came through Mike Purcell’s gap on one of his eight snaps in the game, his most since Week 7 in Arik Armstead’s absence. The pass rush and coverage didn’t match up to the improved showing in run defense however. Only Eli Harold and Ronald Blair notched multiple pressures and with time to scan the defense three San Francisco defensive backs let up 50 yards or more with six missed tackles in the passing game to boot.

PFF Game-Ball Winner: Ryan Tannehill

PFF’s player grading process includes multiple reviews, which may change the grade initially published in order to increase its accuracy. Learn more about how we grade and access grades for every player through each week of the NFL season by subscribing to Player Grades.