Going in at half time at level thanks to goals from Winnall on three minutes and Sanchez Watt on the fifteen minute mark, the Reds then took the game to the visitors for the second period.
Scoring from a penalty on 55 minutes, Hourihane gave the Reds another goal before Ramage got a third with 20 minutes left to play.
Colchester striker Freddie Sears then notched with 15 minutes left as his effort set up a tense final period that the Reds eventually saw out.
Looking to put some space between themselves and Colchester in the league table, it took the Reds only 3 minutes to take the lead against the U’s.
Taking advantage of the greasy surface, Sam Winnall fully capitalised on former Barnsley man David Fox’s mistake as he was able to strike the ball low into the bottom corner for his ninth goal of the season.
On 13 minutes the Reds almost made it two when Sam Walker in the Colchester goal was forced to deal with an effort from Devante Cole.
From a similar position to Winnall’s goal only minutes before, Cole’s effort was parried by Walker as the danger was cleared.
In one of their first attacks of the game, the visitors then shocked the Oakwell crowd on 15 minutes by drawing level.
Some good work from Elliott Hewitt down the right hand side provided former Leeds Utd winger Sanchez Watt with a goal scoring opportunity.
Despite the shot not having the best connection, Turnbull was unable to keep it out as the ball found its way into the Barnsley keeper’s left hand corner.
Thinking they had retaken the lead on 26 minutes, Peter Ramage headed the ball powerfully into the back of the net from a Conor Hourihane delivery.
As the celebrations at Oakwell began, the linesman’s flag was raised for an apparent offside in the area although Ramage looked to be in an onside position when he found the back of the net.
Almost seconds later, Ross Turnbull was forced into a save from Freddie Sears. Getting fingertips onto the striker’s thunderous effort, the ball flew wide of the goal for a corner.
With just under ten minutes left to play in the half, a good run from the Reds’ captain Martin Cranie down the right led to Winnall being presented with an opportunity to find his tenth goal of the season.
Screwing his effort over the Colchester goal, Winnall’s presence in the area was causing the visitors problems as the half came to an end.
Coming out showing aggression for the second half, Cole had a chance within 5 minutes of the restart.
Rounding Walker in the U’s goal, Cole was forced wide before putting in a cross. Despite an area full of red shirts, the youngster’s delivery didn’t find a teammate as the chance went begging.
Winning a penalty on 53 minutes, Colchester captain Sean Clohessy brought down Cole after the pacey frontman beat the defender into the area.
Making no mistake in dispatching the penalty, Conor Hourihane made it 10 for the season finding the bottom left corner of the goal.
Keeping the Reds in front, Ross Turnbull saved from George Moncur soon after although the Barnsley keeper had some trouble keeping the slippery ball in his grasp.
Beating the Barnsley offside trap, Sears forced Turnbull into another save on 68 minutes. This time a one handed save, Turnbull’s reactions again maintained the Barnsley lead.
From a corner on 70 minutes, Ramage again made his presence felt in the Colchester area. Connecting with the delivery, this time it counted as the defender got his second of the season and put the Reds two in front.
Five minutes later, Freddie Sears who had looked dangerous all evening found room in the Barnsley half and was allowed to beat Turnbull to get the U’s second and the game’s fifth.
Going into the final five minutes, the Reds introduced Dale Jennings to the game as they looked to protect their slender lead.
Some nervous moments ensued as Turnbull again kept the visitors at bay but the Reds successfully saw out the game, ensuring Danny Wilson’s side held on for all three points as they climb to 11th in the league ahead of this weekend’s action.
Reds: Turnbull, Dudgeon, Berry, Nyatanga, Cranie (C), Hourihane, Winnall (90), Hemmings (84), Ramage, Bailey, Cole.
Subs: Davies, Brown, Treacy, Jennings (84), M’Voto, Bree (90), Lita.
Colchester: Walker, Watt (79), Gilbey, Sears, Eastman, Clohessy (C), Massey (71), Moncur, O’Donoghue, Fox (85), Hewitt.
Subs: Lewington, Gordon, Eastmond, Healey (71), Szmodics (85), Roofe (79), Harney.
Referee: Richard Clark