GREEN BAY, Wisconsin — Aaron Rodgers sounded subdued and felt a little sore.
Detroit snapped a 24-game road losing streak that dated back more than two decades. The Packers' offense struggled against a team ranked 26th in the league in defense.
"We needed 19 points to win today, you would expect us at home to score 19 points," Rodgers said.
But the offense remains in a rut.
The Packers (6-3) lost their third straight game, but this was a new low after their two previous defeats came on the road to Super Bowl contenders Denver and Carolina.
Matthew Stafford threw for two touchdowns and 242 yards for the Lions (2-7). The organization had been reeling following the midseason firings of the team president and general manager.
"I bet nobody gave us a chance, but that's the way we like it," Stafford said.
The Packers had a couple shots to win or tie in the final minutes because of several Detroit mistakes. Matt Prater missed two extra points, but also hit field goals from 49 and 51 yards.
A sluggish game filled with three-and-outs turned into a thriller in the fourth quarter.
Crosby had a chance for a winning field goal after rookie Damarious Randall recovered an onside kick mishandled by Calvin Johnson with about 31 seconds left. The veteran kicker said he just put his foot too high on the ball.
Detroit had stopped Green Bay on a 2-point conversion attempt after Rodgers hit Justin Perillo for an 11-yard touchdown pass on the previous drive.
"We dropped one today that we felt we had a very good opportunity to win this game," coach Mike McCarthy said.
Rodgers was 35 of 61 for 333 yards, but wasn't at his best. Receivers including Randall Cobb and Adams had a few drops.
Protection was spotty. Left tackle David Bakhtiari left in the fourth quarter with a knee injury.
Rodgers made some uncharacteristically shaky throws and got up slow a few times following hits.
"Well, I'm a little sore right now but I'll be good to go in a couple of days," Rodgers said.
It's not good enough blocking for McCarthy.
"Aaron's been hit way too much three weeks in a row," McCarthy said. "No one feels good about it. I'm sure he doesn't feel very good."
Green Bay finally got into the end zone when Rodgers found tight end Richard Rodgers for a 4-yard touchdown pass with 5:55 left.
Lance Moore's 4-yard touchdown reception increased Detroit's lead to 18-10 four minutes later, and the Lions staved off the Packers following Perillo's score.
The Packers' running game also stalled, with James Starks gaining just 42 yards on 15 carries.
It has been a precipitous decline for a quick-strike offense that was once the envy of the NFL.
"This isn't easy," McCarthy said. "And frankly, if we spoiled you in the past, that's great. We're looking forward to spoiling you again in the future."
Even Crosby's 44-yard field goal in the first quarter needed a little luck after glancing off the left upright but over the crossbar.
"We played physical," Butler said. "We wanted to control (Rodgers) so we brought pressure and we were in their faces."
NOTES: Detroit hadn't defeated Green Bay on the road since a 21-17 victory on Dec. 15, 1991. ... Johnson, who was listed as questionable coming into the game with an ankle injury, finished with six catches for 81 yards. ... Ameer Abdullah's 104-yard kickoff return to open the second half set up Stafford's 2-yard touchdown pass to Brandon Pettigrew with 13:33 left in the third quarter. ... The Packers' pass rush generated pressure on Stafford, but still went a third straight game without recording a sack.