The shorthanded Green Bay Packers notched a seventh-straight win on Thursday night in Arizona, using two touchdown passes from Aaron Rodgers to Randall Cobb and three takeaways to knock off the previously unbeaten Cardinals at State Farm Stadium.

It wasn’t the prettiest game in Matt LaFleur’s tenure as Packers coach, but it was almost certainly the most impressive, given the opponent, situation and injury adversity.

Based on grades from Pro Football Focus, here are the best and worst performers from the Packers’ Week 8 win over the Cardinals.

Top 5 offense

Mark J. Rebilas-USA TODAY Sports

1. RB A.J. Dillon, 80.3
2. TE Dominique Dafney, 76.7
3. TE Josiah Deguara, 76.7
4. LT Elgton Jenkins, 74.9
5. RB Aaron Jones, 72.6

Dillon broke three tackles, averaged 3.8 yards after first contact and gained 61 of his 78 total rushing yards after first contact.

Dafney, who played 14 snaps in his return from injured reserve, earned the team’s highest run-blocking grade.

Deguara earned the team’s second-highest run-blocking grade while also catching two passes, including a big third-down conversion in the second half.

Jenkins allowed only one pressure to All-Pro edge rusher Chandler Jones over 40 pass-blocking snaps.

Jones forced four missed tackles, had a 16-yard run and caught a team-high seven passes. Of his 110 total yards, 90 came after first contact or after the catch.

Top 5 defense

Green Bay Packers cornerback Rasul Douglas (29).

1. OLB Whitney Mercilus, 80.9
2. CB Rasul Douglas, 75.4
3. DL Kenny Clark, 72.0
4. DL Dean Lowry, 66.9
5. LB De’Vondre Campbell, 60.4

Mercilus played 29 snaps, including 23 as an edge rusher, and created three pressures, including a quarterback hit.

Douglas ended the game with the dramatic interception in the end zone, but he also had two stops as a tackler and broke up a pass to A.J. Green.

Clark had two pressures, drew two penalties and was solid against the run.

Lowry had a sack for a fourth straight game and finished with three pressures.

Campbell produced two pressures, including a sack, and two stops, but he did give up four completions in coverage, including the 22-yard gain to Chase Edmonds in the fourth quarter.

Bottom 5 offense

Joe Camporeale-USA TODAY Sports

1. C Lucas Patrick, 60.6
2. WR Equanimeous St. Brown, 60.2
3. LG Jon Runyan, 53.0
4. TE Marcedes Lewis, 52.0
5. WR Juwann Winfree, 43.7

Patrick gave up only one pressure but he received poor grades as a run blocker. His whiff on a block created a tackle for loss on A.J. Dillon.

St. Brown ran 35 routes but saw just two targets, although one he converted into a fourth-down catch. He finished with 12 receiving yards and had a holding penalty.

Runyan gave up three pressures, including the quarterback hit on Aaron Rodgers on his first touchdown pass. He was the lowest-graded pass-blocker.

Lewis was ok in the run game but he got dinged hard for not completing what would have been a one-handed touchdown catch. He ran 14 routes but had zero receiving yards.

Winfree had one drop, one fumble and one missed opportunity on a contested catch. He ran 32 routes but had just 30 receiving yards.

Bottom 5 defense

Mark J. Rebilas-USA TODAY Sports

1. CB Eric Stokes, 49.6
2. S Adrian Amos, 46.4
3. OLB Rashan Gary, 45.7
4. OLB Preston Smith, 45.7
5. LB Krys Barnes, 29.5

Stokes gave up the 55-yard play to DeAndre Hopkins early. All four the completions against his coverage gained first downs. The 79 yards he allowed was a game-high.

Amos had a missed tackle and received poor coverage grades despite giving up just one completion.

Gary had two pressures but also a penalty, and he wasn’t effective against the run.

Smith had three hurries, but he missed a tackle and was the team’s lowest-graded run defender.

Barnes missed a tackle and got picked on in coverage, allowing four completions.

Other notables, special teams

(AP Photo/Rick Scuteri)

Aaron Rodgers was under pressure on 14 of 39 dropbacks, or 35.9 percent. Kyler Murray was under pressure on 11 of 37 dropbacks, or 29.7 percent, but that number feels low.

Of Rodgers’ 22 completions, 20 were thrown under 10 yards in the air.

The Packers gained 100 yards after first contact in the run game.

The Packers defense missed only four tackles. However, the defense also gave up five plays of 20 or more yards.

The Packers dropped three passes and were 2-for-6 in contested catch opportunities. Both catches were by Randall Cobb.