Tykes skipper Hourihane found the back of the net from 30 yards with a spectacular strike in the 88th minute to end the City Ground stalemate.
And manager Heckingbottom says his players will have always felt that moment was coming, as they fought to secure a fifth win in seven Championship outings – while ensuring Forest notched up a sixth game without victory.
“I think the game was drifting away and heading to a stalemate in the final 10 minutes, we would have taken a point,” said Heckingbottom. “But then it was some goal to win us the game – and that is what we have got in the team.
“We always have to believe we can keep pushing for the win and that is what we do all the time. We focus on how we play, we stick to our game plan and if the breaks come for us from that, then great.
“If we have to rely on somebody to conjure up a bit of magic for us, so be it – because we know we have that in us as well.
“I was really pleased with the performance, we made changes to bring some energy into the side. We knew we would create chances and I thought we were unlucky not to be in front at half time.
“We wanted more of the same in the second half, but we also knew that we had firepower available coming off the bench if we needed it.
“The keeper only had one meaningful save to make, so we were pleased to get the three points.”
Forest boss Philippe Montanier saw Nicklas Bendtner have a goal ruled out for a narrow offside decision just two minutes before the Barnsley winner – and also saw Jack Hobbs hit the bar with a header.
The Frenchman conceded that Forest are in a relegation battle.
“We are in a precarious position. When you do not win in six games, you are going to move down towards the bottom,” he said.
Nottm Forest: Henderson, Cash, Mancienne, Hobbs, Lichaj, Vaughan, Lam (Kasami 61), Dumitru (Vellios 70), Pereira, Osborn, Assombalonga (Bendtner 85). Unused substitutes: Perquis, Grant, Smith, Ahmedhodzic.
Barnsley: Davies, Bree, Jackson, MacDonald, Yiadom, Kent (Watkins 46), Hourihane, Scowen, Hammill, Williams (Armstrong 81), Bradshaw (Winnall 62). Unused substitutes: White, Moncur, Townsend, Evans.
Referee: J Linnington (Isle of Wight).