1. Waynes was good, bad, ugly

You can tell cornerback Trae Waynes is a first-round talent. You also can tell he still needs some polish. In just his third NFL start, he stepped in for Xavier Rhodes for the second straight game and ended up with a key defensive play, intercepting Aaron Rodgers with 1:50 left to clinch the Vikings' 17-14 victory. Waynes seems to always have tight coverage but doesn't always finish well. In the first half, he got caught expecting run on second-and-goal from the 1. While he poked his nose inside, Rodgers rolled left and threw an easy touchdown pass to Waynes' guy, Jordy Nelson. Later, Waynes had very tight coverage on Nelson but couldn't disrupt Nelson enough to keep him from snagging the ball and going 21 yards. With seconds left in the first half, Rodgers threw a deep ball up to Davante Adams, hoping for a catch or a defensive pass interference penalty. Waynes had excellent coverage and drew the rare deep-ball offensive pass interference penalty. And the ugly: Waynes was called for holding twice in four plays early in the third quarter and was summoned to the bench briefly in favor of rookie Mackensie Alexander.

2. Packers pay big to block Griffen

The last time these teams met, Packers left tackle David Bakhtiari was on the sideline wearing sweats and a bum ankle in a Week 17 winner-take-all NFC North showdown at Lambeau Field. Left guard Josh Sitton slid out to tackle in an effort to contain Vikings right end Everson Griffen. He failed. Miserably. Griffen had two sacks and a forced fumble that cornerback Captain Munnerlyn returned for a touchdown in the Vikings win. Sept. 13, the 24-year-old Bakhtiari signed a four-year, $51.67 million contract extension. He should thank Griffen. Bakhtiari showed in the first half that he's a stout challenge for Griffen. But Griffen did have a nice third-down bull rush that pushed the big left tackle into the pocket and forced Rodgers to throw the ball away. He also had a sack in the fourth quarter. This will be a nice battle for a few years.

3. Locke blocked, but ...

The Vikings had a major breakdown in punt protection, allowing Ty Montgomery to come free up the middle and block a Jeff Locke punt that traveled only 3 yards and set up a 52-yard touchdown drive. But Locke's three other punts were exactly what this team needs. He had punts of 48 and 47 yards that were fair-caught at the Green Bay 10-yard line. His other punt was fair-caught for 45 yards. Meanwhile, Tim Masthay had punted for the Packers since 2010 when Green Bay released him Aug. 30 and took a chance on Jacob Schum, who had been released by the Buccaneers after playing in Tampa Bay last year. Schum struggled in the first half with one of his punts being a 35-yard shank out of bounds.

4. Stopping Lacy a key in series

Heading into Sunday night, Packers running back Eddie Lacy had reached 100 yards in four of six games against the Vikings. In 41 games against the rest of the league, he had reached 100 yards only six more times. Only once had the Vikings held Lacy to fewer than 94 yards rushing. In last year's season finale, he was held to 34 yards on 13 carries (2.6). It's no coincidence that was the only game the Vikings won of those six meetings. When the Vikings unravel, typically the first thread to go is the run defense. That's particularly true against the Packers since it's never a good idea to give Rodgers third-and-short situations. Sunday night, the Vikings won partly because they held Lacy to 50 yards on 12 carries.

5. Kalil plays, but hip, rust show

Vikings left tackle Matt Kalil has been a Viking for 66 regular-season games. Sunday night, he started No. 66 in a row despite a hip injury that knocked him out of practice on Wednesday and Thursday. He was listed as questionable. Although he's remarkably durable, Kalil hasn't had the best track record of playing well through injuries (See: 2014). Sunday was a tough assignment with Clay Matthews and Julius Peppers, depending on the Packers' defensive call. In the first half, Matthews had QB pressures against Kalil and right tackle Andre Smith. Kalil's first half also included a false start and a third-down sack allowed against Peppers. Kalil also gave up another sack to Matthews on third down early in the third quarter.