The hosts led through Cauley Woodrow's first-half penalty before goals from Philip Zinckernagel, Brennan Johnson and Lewis Grabban sealed it for Forest.
Johnson sent over an early low cross which was claimed by keeper Brad Collins as Joe Lolley waited to pounce.
There was a half-chance for the visitors when an attempted clearance from Collins fell to Lolley and with the keeper off his line, Lolley's effort from distance drifted well wide of the target.
The breakthrough goal came when Woodrow was fouled in the area by Tobias Figueiredo and Woodrow (20) beat Brice Samba with the resulting penalty.
Lolley was involved again when he advanced into the left-hand side of the area and tried an angled shot which went beyond the far post.
James Garner put a long-range shot on target, but it was straight at Collins who gathered the ball comfortably.
Soon after the re-start, Woodrow's shot on the turn from inside the area was blocked by Samba.
At the other end, Liam Kitching made a vital sliding challenge as Johnson threatened to find a way through the heart of the Barnsley rearguard.
Collins then came to his side's rescue with a good save to keep out Zinckernagel's shot after he had been set up by Lolley.
Forest head coach Steve Cooper made a change on the hour-mark with Figueiredo replaced by Grabban.
The equaliser came when Forest sprung the offside trap with Johnson squaring the ball unselfishly to Zinckernagel (61), who tapped into the unguarded net.
Barnsley boss Markus Schopp made a change in attack with Victor Adeboyejo taking over from Dominik Frieser.
The visitors took the lead when Zinckernagel put Johnson (68) through and he slotted the ball past Collins.
Zinckernagel saw his powerful shot saved by Collins before Forest went further ahead.
The third goal came when Alex Mighten did well to beat Jasper Moon on the left and sent over a low cross which was turned in by the unmarked Grabban (82) at the far post.
Barnsley substitute Aaron Leya Iseka went close to pulling a goal back late on with a powerful header which was turned wide by Samba.
Barnsley remain without a win in their last eight games and their players were booed off at the end by a section of the crowd.