Demarai Gray's 10th-minute penalty sent the visitors ahead before Johnson levelled in the 19th minute, but the Toffees regained the lead in the 29th minute through Abdoulaye Doucoure.
Forest secured a share of the spoils courtesy of Johnson's second of the match late on, though, with the result keeping the two teams in the positions in the table where they started the game.
Forest stay 14th, boasting 26 points from their 25 matches, while Everton remain 18th, level on points with 17th-placed Leeds United, having played a game more than the Whites.
Everton were awarded a penalty in the ninth minute of the contest when Jonjo Shelvey brought Dwight McNeil to the ground with a clumsy challenge inside the box.
Gray stepped forward for the visitors and made no mistake, sweeping the ball into the back of the net, with Forest goalkeeper Keylor Navas diving the opposite way.
The response from the home side was strong, though, and they levelled in the 19th minute of the contest, with Johnson squeezing the ball home from a narrow angle after Jordan Pickford had kept out a strike from Morgan Gibbs-White.
Everton wanted another penalty in the period that followed when Seamus Coleman went down inside the box, but replays showed that the experienced defender had kicked Jack Colback rather than the other way around.
The Toffees were back ahead in the 29th minute, with Doucoure heading into the back of the net from close range after James Tarkowski and Michael Keane had combined to nod towards their teammate.
McNeil saw a long-range effort tipped over the Forest crossbar by Navas in the 40th minute, before Gray had a chance to score a third for Everton late in the half, with the forward having a goal-bound strike blocked following a low ross from Doucoure.
An emotional start to the second period saw five players pick up bookings in quick succession, with both teams competing for every ball during an end-to-end affair.
The match had been expected to be cagey due to what was at stake, but both sides committed numbers forward to each attack, with Everton pushing Doucoure right alongside Gray when they were inside Forest's half of the field.
The home side were becoming more and more frustrated in the final third, as a number of attacks continued to break down, but they managed to level the scores in the 77th minute when Johnson picked out the top corner with a smart finish from inside the box.
Pickford kept out an effort from Andre Ayew in the 82nd minute before Johnson just failed to make contact on the rebound, with Forest looking for all three points.
Johnson then had a low cross palmed clear by Pickford, before the attacker just missed the far post with a curling effort in the 84th minute of the contest.
Both teams were pressing forward for a winner in the latter stages, but the points were ultimately shared at the end of an entertaining contest on Sunday afternoon.
Everton will continue their league campaign at home to Brentford next Saturday, while Forest face a trip to North London to take on Tottenham Hotspur on the same afternoon.