LIONS 21 -- As the only Dallas Cowboys receiver who had ever caught a pass in an NFL game, Keyshawn Johnson knew he had to come through big for quarterback Vinny Testaverde.

He didn't. Until the game was on the line.

Johnson ran wrong routes on two of the first balls thrown his way, turning both into interceptions, but redeemed himself with two touchdown catches, including a 38-yarder with 1 minute 54 seconds left that sealed a 31-21 victory over the Detroit Lions on Sunday.

Testaverde's throws, however, weren't as impressive as his runs.

Two weeks shy of his 41st birthday, Testaverde stunned everyone with a seven-yard run on fourth and three to set up a tying touchdown, and scrambled three yards for the go-ahead score, helping Dallas (3-4) end a three-game losing streak.

"If we're going to start to turn this thing around, this is where we needed to start," Testaverde said.

Testaverde went 19 of 24 for 235 yards, offsetting three interceptions with three touchdowns. Yet it was the Cowboys' return to the running game that anchored this victory.

Dallas ran 41 times -- 11 more than in any game this season -- for 127 yards, with Eddie George logging season-bests of 31 carries and 99 yards. That helped the Cowboys keep the ball 17 minutes more than the Lions, only the second time this season they've had the kind of imbalance Coach Bill Parcells loves.

"We had to establish the run some way, somehow," George said.

Detroit fell to 4-3.

Keyshawn Johnson celebrates his 38-yard touchdown in the fourth quarter that gave Dallas a 31-21 lead.