's first goal of the season earned Nottingham Forest a point they richly deserved at The Madejski Stadium.
The Welsh international took full advantage of a calamitous error by Reading goalkeeper Adam Federici early in the second half to cancel out Alex Pearce's first half opener.
Earnshaw was left with the simple task of firing into an empty net in the 49th minute after Federici had hammered a drop kick against teammate Jem Karacan. The ball fell nicely for last season's leading 17-goal scorer who gratefully accepted the opportunity to open his account for the campaign.
It was no more than The Reds deserved on an afternoon when for long periods they looked like being denied by the Reading No.1.
He almost single-handedly kept Forest at bay in the first half with a string of outstanding saves - the best of which saw him somehow keep out a Paul Anderson
header with a save of world class proportions.
The Reds' preparations for the game were disrupted by the loss of skipper Paul McKenna
before kick-off after he picked-up a knock in the warm-up. Radoslaw Majewski
was promoted from the bench to replace the skipper in midfield, while Matt Thornhill
joined the substitutes and Lee Camp
took over the captaincy.
Despite that disruption Billy Davies' men were quickly out of the blocks and could have turned their early dominance into an opening goal through Earnshaw, who saw Federici produce a finger-tip save to keep out his shot from the edge of the area.
It was against the run of play when Reading took the lead with their first attack of note in the 15th minute.
Pearce forged the breakthrough as he poked the ball home from close range after Jimmy Kebe's cross from the right had prompted a manic goal-mouth scramble.
But Forest rediscovered their composure and could count themselves unlucky not to be level by the break.
The fact that they weren't was all down to Federici's wonder save from Anderson in the 37th minute.
The former Liverpool winger must have thought he had levelled matters as his header from Dexter Blackstock
's left wing cross headed towards the top corner but Federici somehow managed to claw the ball to safety.
Jobi McAnuff squandered a golden opportunity to add to Reading's lead, while Camp made fine saves to deny Marcus Williams and Brian Howard on either side of the break.
But after Federici had become the villain of the Reading peace, Forest went in search of their first win on the road since January.
Anderson fired over the bar from the edge of the area, while Chris Cohen
had appeals for a penalty waved away after going down under a challenge from Jem Karacan.
At the other end Gylfi Sigurdsson gave Forest a scare 15 minutes from time as he curled a shot from distance just wide of Camp's goal.
Shane Long fired into the side-netting from close range after Forest had failed to deal with a corner, while a great block by Kelvin Wilson
kept out substitute Noel Hunt's goal-bound shot as Reading went in search of a late decider.
Stand-in skipper Camp ensured Forest's point with a smart save to keep out Kebe's header with just seconds on the clock. Forest:
Camp (capt), Bertrand, Chambers, Morgan, Wilson, Anderson, Earnshaw (Adebola 88mins), Cohen, Majewski (McGugan 62mins), Moussi, Blackstock (Tyson 74mins). Subs not used: McCleary, Moloney, Darlow.
Scorer: Earnshaw 49 mins
Bookings: Blackstock 31mins, Bertrand 80mins Reading:
Federici, Griffin (Gunnarsson 9mins), Williams, Karacan, Mills (capt), Sigurdsson, Long (Hunt 79 mins), McAnuff, Kebe, Howard, Pearce.
Subs: Antonio, Church, Robson-Kanu, Hamer, Taylor.
Scorer: Pearce 15mins
Bookings: Howard 64mins, Pearce 84mins
Referee: Lee Probert
Attendance: 17,324 (Away 2,176)