On Sunday night, the Green Bay Packers defeated the New York Giants 23-16 in an affair that was far more defense-oriented than many fans and experts anticipated. The Packers won because of their defense, not in spite of it, and they continued their strong play against the run.

In fact, coming into Sunday’s game, the Packers had allowed 50 yards or less on the ground in each of their first three games this season. They maintained that astounding streak against the Giants’ offense, despite never lining up in their base 3-4 defense on a single snap throughout the entire game. Instead, they aligned in the nickel formation with five defensive backs for most of the game, only changing that up on occasion to add a sixth member of the secondary.

Here’s a look at who and how the Packers lined up throughout Sunday’s game.

Snap counts are provided by the NFL’s Game Stats and Information Service.

OFFENSE (80)

Backfield

QB Aaron Rodgers 80, RB James Starks 49, RB Eddie Lacy 26, FB Aaron Ripkowski 25

The playing time breakdown between Starks and Lacy was puzzling in the second and third quarters, but was better-explained once we learned of Lacy’s ankle injury. He was by far the more effective runner than Starks, racking up 81 yards on 11 carries including a 31-yard burst to start the Packers’ second touchdown drive. Ripkowski was heavily involved on the first drive of the game, but his playing time dwindled as the Packers moved back to more of their typical 11 personnel group.

Receivers

TE Richard Rodgers 73, WR Jordy Nelson 72, WR Davante Adams 60, WR Randall Cobb 55, WR Jeff Janis 13, TE Justin Perillo 13, WR Trevor Davis 7, WR Ty Montgomery 2

This was the first time that a tight end had more snaps than any wideout, but with Jared Cook out, Rodgers’ ability to line up all over kept him on the field for 90% of the team’s snaps. As usual, the top three wideouts took by far the bulk of the snaps, with Jared Abbrederis as the only receiver on the roster to not make an appearance on offense. In fact, Abby only played four snaps all game, all on special teams.

Montgomery’s usage continues to be puzzling as well - he lined up in the backfield on both of his snaps and is being given none of the opportunities that he had as a rookie. Davis was used as the sole receiver on at least one snap on the first drive, when the Packers were in 22 personnel, but otherwise had a minimal impact. Janis saw no passes thrown his way on his 13 snaps.

Offensive Line

LT David Bakhtiari 80, LG Lane Taylor 80, C JC Tretter 80, RG T.J. Lang 80, RT Bryan Bulaga 80

The unit stayed intact for the entire game and dominated throughout. Enough said.

DEFENSE (56)

Defensive Line

Mike Daniels 32, Letroy Guion 28, Kenny Clark 18, Dean Lowry 8

Using a heavy dose of five or six defensive backs (as expected), the Packers worked their rookie linemen in a bit, but continue to rely on Daniels and Guion, as well as playing Datone Jones and Julius Peppers a bit as inside rushers. The Packers had Christian Ringo and Brian Price both as gameday inactives, and the bet is that one of them will likely be released this week to make room for Mike Pennel (who comes off suspension).

Outside Linebackers

Nick Perry 42, Clay Matthews 28, Datone Jones 24, Julius Peppers 23, Kyler Fackrell 14, Jayrone Elliott 7

You’d never know that Fackrell played just 14 snaps from his stat line: he made five tackles and added a strip-sack of Eli Manning and another hurry. Perry was his usual disruptive self, landing four tackles and a sack of his own, while Matthews posted his third sack in as many games this year.

Even Elliott got into the fun, with a sack-strip of Manning that was negated by offsetting penalties.

Inside Linebackers

Joe Thomas 41, Jake Ryan 41, Blake Martinez 15

Thomas’ playing time has steadily increased as the season has gone along, but this is the first game where he has played the most snaps of any of the three inside backers. Likewise, this is the lightest workload that Martinez has seen. However, given the Packers’ desire to use nickel and dime packages throughout the game, this should not be a huge surprise; the snaps should bounce back in Martinez’s favor next week against the Cowboys. All three players had at least three tackles, with Ryan leading the team with seven (including one tackle for loss).

Defensive Backs

CB Micah Hyde 56, CB LaDarius Gunter 56, CB Quinten Rollins 56, S Ha Ha Clinton-Dix 56, S Morgan Burnett 56, S Kentrell Brice 15

We’re classifying Hyde as a corner this week because he played in the slot on every play. You can do the math - with the first five players lining up on every play, the Packers clearly did not use their base 3-4 defense on a single snap. What was fascinating was that when the Packers moved into their dime defense, they shifted Burnett into the slot and brought Brice onto the field as the strong safety rather than putting rookie corner Josh Hawkins on the field at cornerback.

In fact, Hawkins did not even see the field on defense, a bit shocking in a game in which the Packers lined up with five or more DBs on every play and had just four corners active.

Special Teams Notables

The aforementioned Abbrederis barely even saw the field on special teams, logging just four snaps. Brice, Fackrell, and Janis led the way with 21 plays, while Elliott and Ripkowski were next with 20. The next-best snap counts were Montgomery and Thomas with 17 apiece.

Special teams stalwart Chris Banjo played just 12 snaps, as he was injured in the second half.