Peterson ran for 97 yards with TDs of 1 and 3 yards and also caught three passes for 40 yards.
Longwell's 41-yarder put the Vikings in front early in the second quarter and they led the rest of the way.
Carson Palmer threw a 15-yard touchdown pass to Chad Ochocinco and Shayne Graham had a 22-yard field goal for the Bengals (9-4).
Palmer ended up with 15 completions in 25 passes for just 94 yards and Cedric Benson carried 16 times for 96 yards for Cincinnati.
Minnesota has won at least 11 games for the first time since the 2000 season.
Exploding whale video goes viral on Internet
Wisconsin business offering 'therapeutic cuddling' forced to close