After a wide-open first half that finished scoreless, Salomon Rondon almost put the home side in front early in the second with a quick turn and shot, but the ball flew just wide at the foot of the left-hand post.
Forest gave a debut to club record signing Morgan Gibbs-White a day after he arrived from Wolverhampton Wanderers on a five-year deal and he led a lively raid down the left that almost resulted in a goal for Neco Williams.
Though both sides created plenty of chances in an open and free-flowing game, they lacked the killer instinct in front of goal and the match looked to be heading for a draw until Brennan Johnson popped up in the 81st minute.
The 21-year-old, who netted 16 goals in the second-tier Championship last season, reacted quickest to steer home a rebound for his first goal of the season and looked all set to give his side their second victory in a row.