DaJuan Harris rushed for a score in his first appearance for the Packers, Aaron Rodgers added the longest TD run of his career, and Mike Daniels returned a fumble 43 yards as the Packers (9-4) opened a one-game lead over Chicago.
If Green Bay beat the Bears next weekend at Soldier Field, and they will win the NFC North for a second straight year.
The loss was the fifth straight for Detroit (4-9). This was not quite as excruciating as the previous three, though, when the Lions gave up fourth-quarter leads and fell by a total of nine points.
The Packers have won 22 straight at home against the Lions, the longest streak in the NFL.
49ERS 27, DOLPHINS 13
In San Francisco, Frank Gore ran for a one-yard touchdown and reached 1,000 yards rushing for the sixth time in his career.
Gore finished with 63 yards, Anthony Dixon also had a one-yard scoring run and Colin Kaepernick ran for a late 50-yard touchdown and threw for 185 yards in his fourth straight start since being promoted over Alex Smith.
In other play on Sunday, it was:
‧ Vikings 21, Bears 14
‧ Browns 30, Chiefs 7
‧ Chargers 34, Steelers 24
‧ Colts 27, Titans 23
‧ Jets 17, Jaguars 10
‧ Eagles 23, Buccaneers 21
‧ Rams 15, Bills 12
‧ Panthers 30, Falcons 20