The forward's brilliant volley in the 14th minute proved to be the difference between the two teams, as Forest made it five games unbeaten in England's top flight, with the strong run including three wins.
Steve Cooper's side have moved into 13th position in the table, while Leeds, who are without a league success since the start of November, remain 17th, level on points with 18th-placed Everton.
Forest made the breakthrough in the 13th minute of the contest through Johnson, with the attacker expertly picking out the bottom corner with a volley from the edge of penalty box after Leeds had failed to deal with a deep free kick into their own penalty box.
A mix-up inside the home team's area almost gave Leeds the chance to level in the 23rd minute, but Keylor Navas, making his debut for Cooper's side between the sticks, was able to gather the ball after it had hit his teammate Willy Boly, with the defender then requiring treatment for a head injury.
Leeds had a golden chance to level in the 31st minute when Willy Gnonto picked out Luis Sinisterra inside the Forest box, but the forward somehow missed the target from close range.
The Whites again came close in the 36th minute through Luke Ayling, who fired towards goal after meeting a scuffed effort from Patrick Bamford, but Navas was on hand to make an excellent save.
Gnonto was the player causing problems down the Leeds left, with the visitors feeding him at every opportunity, and the Whites were the team on the front foot heading for the break, with Navas again called into action to keep out a header from Ayling, who was dangerous inside the Forest box.
Gnonto had a chance of his own in the 43rd minute after a mistake from Neco Williams, but Navas was on hand to make a smart save, before a poor touch from Bamford prevented the striker from having the chance to strike on goal in the closing stages of the first half at the City Ground.
The first chance of the second half fell to Williams, who showed quick feet to work a yard inside the Leeds box before attempting to pick out the far corner, but his effort was just too high.
Sam Surridge came close to a second for Forest in the 78th minute when the ball fell for him inside the Leeds box, but the substitute curled his effort over the crossbar.
Crysencio Summerville had Leeds' final chance of the match in the third minute of added time at the end of the 90, but he fired over the crossbar, as the home side secured all three points.
Forest will be back in league action against Fulham on Saturday, while Leeds now face successive league fixtures against Manchester United, with the first game taking place at Old Trafford on Wednesday.