After dominating much of the first half, Posh took the lead in the 50th minute when Aaron McLean headed home.
But before the celebrations had ended, Forest were level when Radoslaw Majewski scored direct from a free-kick.
And just five minutes later Paul Anderson netted from close range to put Forest ahead and they looked most likely to score again, with Nathan Tyson and Rob Earnshaw missing good chances to extend the lead.
Defeat, the second at home of the week, sees Darren Ferguson's men slip to second bottom with just seven points, while Forest move into the top half.
Despite the gusty conditions at London Road, Peterborough made the early running and had early chances through Craig Mackail-Smith and Aaron McLean, but both men failed to find the target.
Peterborough's attacking intent was disrupted by injuries to their goalkeeper Joe Lewis and Paul Coutts, with both men having to be replaced inside the opening half hour, and Forest nearly made matters worse when they created their first opening of the game.
Tyson used his explosive pace to advance down the right and feed strike partner Dexter Blackstock, but he could only fire over from 12 yards.
The home side soon settled again and resumed their superiority and should have gone ahead only for Mackail-Smith to head wide from close range with the goal at his mercy.
And they went even closer minutes later when substitute Lee Frecklington's run ended with a 25-yard shot whistling just past the post.
The opening moments of the second period were full of action and both sides found the back of the net.
Firstly Peterborough were in the ascendancy when McLean rose highest to head Tom Williams' corner past Lee Camp to take a lead their first-half endeavour had deserved.
But Forest were level a minute later and questions will be asked of rookie goalkeeper James McKeown, a first-half substitute for the injured Lewis.
Majewski floated a free-kick in from the left, McKeown made a total misjudgment and the ball flew straight into the top corner.
Forest were boosted by the stroke of luck and took the lead just five minutes later.
Chris Cohen made space down the left and whipped in a cross for Anderson to steal in and toe-poke home for his first goal of the season.
George Boyd wasted a glorious chance to level midway through the second period, blasting his shot into the side netting, while Forest continued to look dangerous and Tyson shot wide before McCleary fired over.
Billy Davies' men were not made to pay for their missed chances and held on for their second away win of the season.