Everton breathed new life into their push for a European place with a comfortable win which increased Reading's relegation worries.
Marouane Fellaini opened the scoring after connecting with Seamus Coleman's inviting cross before Steven Pienaar doubled the lead with a 20-yard finish.
Pienaar then turned provider as the South African set up Kevin Mirallas.
Everton top four hopes alive - Moyes
Reading, who remain in the relegation zone, scored a late consolation through substitute Hal Robson-Kanu's header.
While David Moyes' side move to within two points of fifth-placed Arsenal, who play on Sunday, Reading's Premier League future remains in a precarious state.
This was their third straight league defeat, a run they must address as four of their last 10 games are against Manchester United (away), Arsenal (away), Liverpool (home) and Manchester City (home).
The end of Tim Howard's run
Goalkeeper Tim Howard's run of 210 consecutive Premier League matches has ended. The United States international had played in every league match for Everton in the last five-and-a-half-years, since 30 September 2007
The only negative for Everton was the fifth-minute loss of Phil Jagielka to an ankle injury after a challenge by Adam Le Fondre which could sideline the England defender for several weeks.
Reading arrived on Merseyside with the Premier League's worst away record and without injured first-choice goalkeeper Adam Federici.
Yet for 42 minutes Brian McDermott's side frustrated a team that had been displaying all the signs of a side running out of steam at the business end of the season.
Few Everton players have suffered a bigger dip in form than Nikica Jelavic and the Croatian striker was denied his first top-flight goal since 9 December when goalkeeper Stuart Taylor, starting his first Premier League match for five years, saved well with his body in a one-on-one situation.
There was also a Premier League debut for Everton goalkeeper Jan Mucha, starting in place of the injured Tim Howard. And the Slovakian was left breathing a sigh of relief when Le Fondre hit the post from 15 yards after the Toffees defence had failed to deal with a 20th-minute corner.
But Reading's early endeavour evaporated once Fellaini opened the scoring with his 11th league goal of the season, a well placed 42nd-minute header from six yards after good work by Coleman.
Two goals in the space of six second-half minutes killed off any hopes of a Reading comeback.
Steve BowerBBC Match of the Day commentator at Goodison Park
"This was just the result and performance Everton needed as they prepare for the home straight. Reading have 10 games remaining but face some daunting fixtures. They need to return to winning ways quickly."
It was Pienaar who made it 2-0 in the 59th minute, beating Taylor with an excellent finish into the top corner from the edge of the area after a delightful run.
Then the former Tottenham player turned provider - Pienaar's exquisite 66th-minute pass finding an unmarked Mirallas inside the Reading box and the Belgian made no mistake with his second goal in as many games.
If there is one positive McDermott can take from his side's current predicament it is that they do not give up.
Seven of Reading's previous 11 league goals before the game had arrived inside the last 10 minutes and they conjured up another late goal at Goodison Park.
Sadly for the Royals, substitute Robson-Kanu's unmarked header from Ian Harte's 83rd-minute cross proved nothing more than a consolation.
Indeed, Everton would have won by a more handsome scoreline had Harte not cleared Victor Anichebe's late attempt off the line.
Everton manager David Moyes:
"I thought we started well but the injury (to Jagielka) rocked us badly and it took us a wee while to settle after that.
"Reading were always a threat, had a few chances, hit the bar.
"That is the way the Premier League is, whoever you play, the games are tight."
Reading can stay up - McDermott
Reading manager Brian McDermott:
"There was nothing in the first half but they have got major quality.
"When Adam Le Fondre had a shot and hit the post - if that goes in maybe it's different.
"It was a great goal they scored, the first goal; and the second goal, what can you say?
"But we played some great football after that and that gives me real hope going forward."
Full Time The final whistle goes and the game is over.
The offside flag is raised against Adam Le Fondre. Free kick taken by Jan Mucha.
Thomas Hitzlsperger takes a shot from long distance which goes wide of the right-hand post.
Stephen Kelly concedes a free kick for a foul on Kevin Mirallas. Direct free kick taken by Leighton Baines.
Victor Anichebe crosses the ball, save by Stuart Taylor.
Victor Anichebe takes a shot. Clearance by Ian Harte. Short corner taken by Kevin Mirallas.
Ian Harte provided the assist for the goal.
83:01 Goal scored
Goal! - Hal Robson-Kanu - Everton 3 - 1 Reading Hal Robson-Kanu finds the net with a headed goal from close in. Everton 3-1 Reading.
Substitution (Everton) makes a substitution, with Thomas Hitzlsperger coming on for Steven Pienaar.
The assistant referee signals for offside against Stephen Kelly. Jan Mucha takes the direct free kick.
Marouane Fellaini gives away a free kick for an unfair challenge on Hal Robson-Kanu. Direct free kick taken by Alex Pearce.
Unfair challenge on Sylvain Distin by Hal Robson-Kanu results in a free kick. Free kick taken by Marouane Fellaini.
Jobi McAnuff has an effort at goal from outside the area missing to the wide right of the target.
Corner from the left by-line taken by Ian Harte, Victor Anichebe manages to make a clearance.
Inswinging corner taken right-footed by Kevin Mirallas from the left by-line to the near post, Nick Blackman makes a clearance.
Kevin Mirallas takes a shot. Save made by Stuart Taylor.
Substitution Victor Anichebe on for Leon Osman.
Substitution Nick Blackman comes on in place of Noel Hunt.
Jobi McAnuff takes a shot. Save made by Jan Mucha. Corner taken left-footed by Ian Harte from the right by-line to the near post, Darron Gibson makes a clearance.
Shot from long range by Darron Gibson goes wide of the left-hand post.
Centre by Seamus Coleman.
Leon Osman fouled by Hope Akpan, the ref awards a free kick. Sylvain Distin restarts play with the free kick.
Jobi McAnuff takes a shot. Save made by Jan Mucha.
Steven Pienaar provided the assist for the goal.
65:51 Goal scored
Goal! - Kevin Mirallas - Everton 3 - 0 Reading Kevin Mirallas finds the net with a goal from inside the penalty area to the bottom left corner of the goal. Everton 3-0 Reading.
Hal Robson-Kanu takes a shot. Save by Jan Mucha.
Kevin Mirallas has an effort at goal from deep inside the area missing to the right of the target. Corner from the left by-line taken by Jobi McAnuff, clearance made by Marouane Fellaini.
Inswinging corner taken right-footed by Jobi McAnuff from the left by-line, Marouane Fellaini manages to make a clearance. Hope Akpan produces a left-footed shot from just outside the box that goes wide left of the target.
Assist on the goal came from Marouane Fellaini.
58:12 Goal scored
Goal! - Steven Pienaar - Everton 2 - 0 Reading Steven Pienaar finds the net with a goal from just outside the box to the top left corner of the goal. Everton 2-0 Reading.
Marouane Fellaini produces a header from inside the area that goes over the crossbar.
The ball is sent over by Seamus Coleman, clearance by Stephen Kelly.
Corner taken left-footed by Ian Harte, Johnny Heitinga makes a clearance.
Corner taken left-footed by Ian Harte, Johnny Heitinga manages to make a clearance.
Kevin Mirallas takes a shot. Mikele Leigertwood gets a block in.
Kevin Mirallas takes a shot. Save by Stuart Taylor.
Inswinging corner taken from the right by-line by Ian Harte.
The second half has started.
45:00 +3:14 Half time
Half Time The first half comes to an end.
Shot by Marouane Fellaini from 20 yards. Save made by Stuart Taylor. Corner taken by Kevin Mirallas from the right by-line. Corner taken right-footed by Kevin Mirallas, clearance by Ian Harte.
Adam Le Fondre is ruled offside. Direct free kick taken by Sylvain Distin.
Noel Hunt takes a shot. Jan Mucha makes a save.
Free kick crossed by Ian Harte, clearance made by Marouane Fellaini.
Booking Seamus Coleman is shown a yellow card for unsporting behaviour.
Seamus Coleman concedes a free kick for a foul on Jobi McAnuff.
Steven Pienaar concedes a free kick for a foul on Ian Harte. Free kick taken by Ian Harte.
Assist on the goal came from Seamus Coleman.
41:22 Goal scored
Goal! - Marouane Fellaini - Everton 1 - 0 Reading Marouane Fellaini finds the back of the net with a headed goal from inside the six-yard box. Everton 1-0 Reading.
Inswinging corner taken by Ian Harte.
Hal Robson-Kanu takes a shot. Blocked by Seamus Coleman.
Foul by Marouane Fellaini on Noel Hunt, free kick awarded. Ian Harte takes the direct free kick.
The ball is sent over by Kevin Mirallas, Alex Pearce manages to make a clearance. Inswinging corner taken from the left by-line by Kevin Mirallas.
Shot on goal by Alex Pearce from just inside the area goes over the target.
Steven Pienaar gives away a free kick for an unfair challenge on Mikele Leigertwood. Ian Harte restarts play with the free kick.
Kevin Mirallas takes a shot. Stuart Taylor makes a save.
Nikica Jelavic takes a shot. Stephen Kelly makes a save. Short corner taken by Kevin Mirallas.
Steven Pienaar takes a shot. Adrian Mariappa gets a block in.
Adrian Mariappa challenges Nikica Jelavic unfairly and gives away a free kick. Direct free kick taken by Johnny Heitinga.
The assistant referee signals for offside against Hope Akpan. Indirect free kick taken by Jan Mucha.
Free kick awarded for a foul by Hal Robson-Kanu on Leighton Baines. Jan Mucha takes the direct free kick.
Corner from left by-line taken by Jobi McAnuff.
Jobi McAnuff gives away a free kick for an unfair challenge on Seamus Coleman. Darron Gibson restarts play with the free kick.
Kevin Mirallas concedes a free kick for a foul on Adam Le Fondre. The free kick is delivered right-footed by Jobi McAnuff from left wing, Sylvain Distin manages to make a clearance.
The assistant referee signals for offside against Marouane Fellaini. Indirect free kick taken by Stuart Taylor.
Corner taken by Ian Harte played to the near post. Adam Le Fondre takes a shot from a just insdie the penalty box and hits the post.
Substitution Hal Robson-Kanu comes on in place of Jimmy Kebe.
Centre by Noel Hunt, save by Jan Mucha.
Kevin Mirallas fouled by Jobi McAnuff, the ref awards a free kick. Darron Gibson delivers the ball from the free kick right-footed from right wing, Mikele Leigertwood manages to make a clearance. Adam Le Fondre fouled by Darron Gibson, the ref awards a free kick. Direct free kick taken by Ian Harte.
Unfair challenge on Adam Le Fondre by Johnny Heitinga results in a free kick. Ian Harte produces a shot on goal direct from the free kick, save made by Jan Mucha.
Jimmy Kebe has a shot on goal from outside the box which misses left.
Outswinging corner taken right-footed by Kevin Mirallas, Nikica Jelavic takes a shot. Save made by Stuart Taylor.
Booking Booking for Adam Le Fondre for unsporting behaviour.
Substitution Johnny Heitinga comes on in place of Phil Jagielka.
Marouane Fellaini produces a left-footed shot from just outside the box that misses to the right of the goal.
Inswinging corner taken by Kevin Mirallas from the left by-line played to the near post, clearance by Noel Hunt.
Corner taken right-footed by Kevin Mirallas from the left by-line to the near post, Stephen Kelly manages to make a clearance.
Free kick awarded for an unfair challenge on Phil Jagielka by Adam Le Fondre. Jan Mucha takes the free kick.
Headed effort from deep inside the area by Nikica Jelavic misses to the left of the goal.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.