Everton consolidated their place among the Champions League positions, but David Moyes' side needed a defender to snatch the game from a battling Reading.
With no win in their last six, Reading were clear underdogs as they took on an Everton side unbeaten this year.
A slow moving first half saw the home side on the back foot as Reading went with two strikers upfront with Dave Kitson and Kevin Doyle.
Steve Coppell's formation almost had an immediate impact with the visitors having a good chance in the first two minutes
A well driven 25-yard free-kick by Stephen Hunt saw keeper Tim Howard down quickly to his left to smother the ball just inside the post.
Everton took a while to get into a game but the 15th minute brought what looked a clear penalty claim after a crouching Tim Cahill flicked the ball directly onto the right arm of centre half Ibrahima Sonko, only for referee Mark Halsey to wave play on.
The best chance of the half fell to the home side when good link up play between Mikel Arteta and Leon Osman took the ball round the back of the Reading defence, but a low fizzing cross to Cahill could only see the Aussie blast over the bar.
Both teams could have broken the deadlock in first half stoppage-time with a John Oster free-kick and a Cahill header both clipping the roof of the net.
Within minutes of the restart, 19-year-old substitute James Vaughan chased down what looked a lost cause and skilfully skipped around the legs of Sonko and played a dangerous ball right across the face of goal and only inches off the toes of Cahill.
The Toffees looked more like a top-four side as they started to pile the pressure on struggling Reading team and the deadlock was broken on the hour mark after an Arteta corner was headed away by centre forward Kitson.
The clearance only went as far as Osman, who beat the offside trap with a high looping ball to Phil Jagielka who nodded past a stranded Marcus Hahnemann in the Reading goal.
Turning on the style, the home side could have doubled their lead on 75 minutes as substitute Vaughan got his body behind an awkwardly bouncing ball on the edge of the box and perfectly executed a bicycle kick which brought out the best of Hahnemann.
An exciting end to the game had both sets of fans on their feet as Reading's best chance of the match fell to substitute Jimmy Kebe on 84 minutes.
The lanky forward was quicker to the challenge than left-back Joleon Lescott and worked himself an opening inside the box, but his shot was blocked by a last-ditch lunge from Phil Jagielka.
In the same attack, Reading saw another penalty claim waved away by the referee, this time for handball against Lee Carsley.