Lee Trundle scored his 18th goal of the season to give Swansea the three points before limping off injured late on.
Trundle curled an exquisite finish past Forest goalkeeper Paul Gerrard for his first goal since November.
Forest had edged ahead when Nathan Tyson collected Jack Lester's pass from the left to smash home from 12 yards.
But the lead lasted just three minutes as Swans substitute Adrian Forbes raced on to Roberto Martinez's through ball to lob over advancing Gerrard.
Nottm Forest: Gerrard, Curtis, Thompson (Bastians 77), Breckin, Bennett, Southall, Clingan, Cullip, Commons, Lester, Tyson.
Subs Not Used: Eaden, Perch, Bopp, Pedersen.
Booked: Commons.
Goals: Tyson 21.
Swansea: Gueret, Ricketts, Iriekpen (MacDonald 65), Watt (Forbes 18), Williams, Britton, Martinez, Tate, Robinson, Trundle (Knight 69), Fallon.
Subs Not Used: Murphy, Thorpe.
Booked: Iriekpen, Ricketts, Tate, Britton.
Goals: Forbes 27, Trundle 67.
Att: 19,132.
Ref: M Thorpe (Suffolk).