It had looked for long periods as though it was Forest who would claim their first win in seven matches when Matty Fryatt had edged them into the lead with a poacher’s finish in the 37th minute.
But former Mansfield player Alex Baptiste drove the visitors level in the 66th minute, substitute Rudy Gestede headed them in front for the first time with 15 minutes to go and Jordan Rhodes bagged his fifth of the season two minutes later.
Forest came close to an opening goal as full-back Jack Hunt had pushed forward with ambition and left Ben Marshall emphatically in his wake, only for the alert Jason Steele to pounce on his attempted cut back for Matty Fryatt.
Marshall almost made amends for his poor defending at the other end, with a curling shot that flew a few feet wide, following a deflection.
Forest burst into life as half-time approached, with Michail Antonio setting up a decent chance for leading scorer Britt Assombalonga, who completely failed to connect with the winger’s low cross.
In the 37th minute, the home side did take the lead, with a finely crafted goal.
Robert Tesche had the vision to pick out Assombalonga lurking on the edge of the box and, after the striker had bent an outstanding effort against the foot of the post with the outside of his boot, Fryatt was on hand to prod the rebound into the empty net.
When Tesche picked out another killer pass, it sent Assombalonga racing clear down the right hand channel, but his low shot fizzed just the wrong side of the post.
Rhodes was left with his head in his hands after seeing a close range effort deflected over amid a glut of players in the Forest goal mouth as the visitors pushed for an leveller after the break.
But the equaliser did arrive in the 66th minute, after Karl Darlow had failed to properly deal with a cross from Marshall, with his punch falling kindly for Baptiste on the far side of the penalty area, where he fired powerfully into the exposed net from 10 yards out.
Forest twice almost restored their advantage in the space of a few seconds, as substitute Henri Lansbury was denied by a fine save from Steele, before then beating the keeper with a second shot, which this time bounced away off the outside of the upright.
Then came the decisive two minutes for the visitors, as they bagged two quick goals to all but seal three points.
The first was simple, with Lee Williamson delivering an accurate cross from the right for substitute Gestede to head emphatically home at the far post.
The second owed something to a defensive slip, as Rhodes picked up possession on the edge of the box, before twisting, turning and delivering a shot beyond the reach of Darlow and inside his far post.