DETROIT -- The Green Bay Packers are winning again, and they aren't too concerned about how they look doing it.

Aaron Rodgers threw two touchdown passes, including a 22-yarder to Randall Cobb with 1:55 left, and the Packers pulled out a 24-20 win over Detroit Lions on Sunday for their fifth straight victory.

The Packers (7-3) moved within a half-game of first-place Chicago in the NFC North after losing three of their first five games. The Bears play at San Francisco on Monday night.

The Lions (4-6), are struggling. They have dropped two in a row to make their goal of playing in consecutive postseasons very challenging. They begin a difficult schedule run on Thanksgiving against AFC-South leading Houston.

Matthew Stafford couldn't put the Lions ahead on either of their last two drives in a game he'd like to forget.

Stafford threw two interceptions and lost a fumble. One of the interceptions was returned 72 yards by Green Bay safety M.D. Jennings for a go-ahead score in the third quarter.

Rodgers acknowledged he wasn't at his best, but the fifth-year starter was good enough.

He was 19 of 27 for 236 yards with two TDs and an interception. His first TD pass was a 20-yard connection with wide open Jermichael Finley early in the second quarter that gave Green Bay its first lead.

Cobb had nine catches for 74 yards and the game-winning TD, a twisting grab in the end zone on a lofted pass across the field.

On Green Bay's next possession, Mason Crosby made a 39-yard field goal with 19 seconds to go after missing two field goals earlier in the game.

Finley had three receptions for 66 yards and a score for the Packers, who were able to strike somewhat of a balance with James Starks running for 74 yards.

Stafford completed just 17 of 39 passes -- missing many receivers badly -- for 266 yards with a 25-yard TD pass to Calvin Johnson that put Detroit ahead 17-14 late in the third quarter. Stafford also lost a fumble near midfield in the second quarter one drive after throwing a pass directly toward rookie cornerback Casey Hayward, who started for the injured Sam Shields.

The Lions also had some drama on the sideline with receivers coach Shawn Jefferson screaming at offensive coordinator Scott Linehan late in the game.

Johnson had five receptions for 143 yards and caught a TD pass from Stafford for the second straight week after they failed to connect for a score in the first eight games of the season.

Mikel Leshoure had 84 yards rushing and a 1-yard TD run that gave Detroit a 10-7 lead midway through the second quarter.

The Lions settled for field goals after driving inside the Green Bay 10 early and late in the game and those missed opportunities proved to be costly against a team that is building momentum.

Copyright 2012 by The Associated Press. All rights reserved. Material may not be redistributed.