DETROIT - Brad Johnson heaved a pass, pumped his fist and shouted with joy.
The Vikings are back - and Johnson is, too. The ex-Buc and Florida State QB threw two touchdowns, including an 80-yarder to Koren Robinson that fired up the 37-year-old quarterback, and the Vikings held on.
Minnesota has won five straight, salvaging its season after a bad start and the infamous boat party.
"We've gotten ourselves out of a deep, deep hole," Johnson said. "We're back in the ballgame, with four games left."
Detroit has lost five of six and didn't seem to be sparked by Dick Jauron's debut as interim coach. In six weeks, the Lions have gone from sharing the division lead to being eliminated from the race.
Fans booed quarterback Jeff Garcia throughout and vented toward team president Matt Millen in much of the second half.
"Man, this is supposed to be our home stadium," said receiver Roy Williams, shaking his head. "This felt like a road game."
Artose Pinner scored on a 6-yard run to make it 21-16 with 7:38 left after cornerback Brian Williams had an interception return for a score negated by a penalty.
Johnson, who was 17-for-23 for a season-high 256 yards, is 5-0 since starting in place of the injured Daunte Culpepper.
"He's throwing it on time, and he's throwing it precise," Robinson said. "He's like (pitcher) Greg Maddux."
NOTABLE: Charles Rogers was healthy and set to play but Jauron chose to deactivate the receiver.