DETROIT — Calvin Johnson almost broke an NFL record, and could celebrate the feat because of a comeback capped by his quarterback.

Matthew Stafford's 1-yard lunge over a pile of linemen with 12 seconds left and Johnson's 329 yards receiving lifted the Detroit Lions to a 31-30 win over the Dallas Cowboys on Sunday.

Stafford threw a 22-yard pass to Johnson, who had the second-most yards receiving in NFL history, to set up his winning score. The quarterback seemed to catch his hometown Cowboys by surprise. Some of them, including linebacker Sean Lee, appeared to expect him to spike the ball.

Johnson's total trails only the 336 yards receiving Flipper Anderson had for the Los Angeles Rams against New Orleans on Nov. 26, 1989 in a game that went into overtime.

The Lions (5-3) overcame four turnovers and a 10-point deficit in the fourth quarter against the Cowboys (4-4).

Dallas seemed to set itself up to win three straight to stay alone atop the NFC North when Tony Romo threw his second touchdown — and third overall in the game — to Dez Bryant for 50 yards with 6:45 left for a 27-17 lead.

The Cowboys, though, allowed Reggie Bush to cap a long drive with a 1-yard TD, then had to settle for Dan Bailey's third field goal with 1:02 left.

With no timeouts, the Lions went from their 20 to the Cowboys end zone thanks to a 17-yard pass to Johnson, a 40-yard connection with Kris Durham and Johnson's 14th reception that gave them the ball at the Dallas 1.

Instead of spiking the ball, Stafford took the snap and leaped with his arms extended to beat the team he rooted for growing up in Highland Park, Texas.

The No. 1 overall pick in 2009 was 33 of 48 for 488 yards —his second-highest total — with a 2-yard TD pass to Johnson in the first quarter and two interceptions.

Broncos 45, Redskins 21

Peyton Manning overcame four turnovers and Denver scored the last 38 points in a come-from-behind victory over former Broncos coach Mike Shanahan and his new team.

Manning finished with 354 yards and four touchdown passes to offset his three interceptions and lost fumble.

His first two turnovers led to points that gave the Redskins (2-5) a 21-7 lead early in the third quarter. From there, Manning led the Broncos (7-1) on two long scoring drives, then the go-ahead score on a 35-yard touchdown pass to Knowshon Moreno.

Robert Griffin III finished with 132 yards passing, one score and two interceptions for Washington before hurting his left knee.

Griffin's replacement, Kirk Cousins, threw an interception that Dominique Rodgers-Cromartie returned 75 yards for Denver's final points.

Raiders 21, Steelers 18

Terrelle Pryor ran 93 yards on the first play from scrimmage for the longest touchdown run by a quarterback, and Oakland won following a bye week for the first time since 2002.

Darren McFadden added two touchdown runs and the defense did the rest for the Raiders (3-4), who had been outscored by more than 13 points a game in losing their last 10 games out of the bye.