Williams threaded the ball to Johnson deep on the right, he switched from his right to his left foot and fired his shot low and hard giving keeper Marcus Hahnemann no chance.
The Royals proved no real threat to a rampant Forest who had the majority of the possession in this one-sided affair.
Reading were forced to bring on Nathan Tyson after Nicky Forster pulled up with what looked like hamstring trouble, this was on the half-hour mark and it took them 40 minutes before they produced their first shot on target however this was from a free-kick five yards from the Forest box.
Forest came close to scoring twice in the last few minutes of the opening half, firstly after good work from Marlon Harewood, who managed to evade a weak Reading defence.
He then provided a cross that the outstretched Johnson failed to tap in and a similar play saw the roles reversed, but the cross was sent over the bar.
On this performance, or lack of, by Reading it is hard to believe that the two teams were level on points at the start of this game.
On the hour mark Johnson should have doubled his tally with a free shot at goal from ten yards out, but he managed to divert his shot into the arms of the Reading keeper.
A second goal was inevitable as Forest carried on raining in shots on the battered visitors goal.
Harewood finally walked through the Reading defence again to blast a shot across the face of the Reading goal and secure a 2-0 victory.
Forest played the last six minutes a man short after referee Mr Cowburn showed Jack Lester his second yellow card of the game.