READING FC fans were given a belated Christmas present as goals from Andy Carroll and Tom Ince gifted them three points against Swansea City.
Carroll put the Royals in front and after Yakou Meite missed from the spot, Ince’s deflected effort gave Reading a two-goal cushion quickly after the restart.
Swansea got themselves back in the game after Liam Cullen scored to set up a nervy last 20 minutes.
But the Royals learnt their lessons from the reverse fixture and held on to the points to move to eighth in the Championship table.
Paul Ince made three switches from Reading’s defeat at Birmingham City 11 days ago as Andy Carroll and Junior Hoilett returned to the side.
There were plenty of attacking options on the bench for the Royals who had Lucas Joao, Shane Long and Femi Azeez at their disposal.
Meanwhile, the Swans made four changes to their side having not won in their last eight Championship matches.
Reading flew quickly out the traps when they pressed high to win the ball deep in Swansea’ half as Andy Yiadom nicked the ball, tried to find a teammate in the box but was thwarted.
Reading’s bright start saw Tom McIntyre, deployed at left-wing back, link nicely with Yakou Meite who was persistent and energetic throughout the half and he won the games first corner.
The Swans grew into the game and wasted a chance from a free-kick wide on the right that was well overhit before Joe Lumley rushed off his line to head away an attempted through ball.
The first effort on target came when McIntyre released Tom Ince down the channell and he found Carroll in the middle with a cross, but he couldn’t get enough on his header to cause any trouble for Steven Benda.
Lumley then came to the rescue when a ricochet fell kindly for Oli Cooper to strike, but the keeper made a strong double stop before Ryan Manning blasted the ball over the top.
The Royals broke the deadlock when Benda could only punch Ince’s free-kick as far as Carroll who reacted quickest and drilled a low volley past a host of bodies to find the net.
In a flurry of frantic action, Reading had the chance to extend their lead just four minutes after the opener when Carroll was hauled down in the box by Jay Fulton.
Meite stepped up to take the spot kick but smashed his effort high into the stands as the chance to take a comfortable lead went begging.
Swansea tried to respond and had a great opening just before the break when a fizzing cross was sent into the box but was hit waywardly wide by Manning.
The game paused just before half-time after a medical emergency in the Swansea end.
Reading went into half-time with a one goal lead but left rueing a missed penalty having seen a lead slip against Swansea earlier in the campaign.
Lumley was called into action quickly after the restart and spread himself wide to prevent Joel Piroe nipping past him in the box.
The hosts were rewarded for their positive display via a fortuitous deflection just seven minutes after the restart to double their money.
After the Swans lost possession just outside their box, Ince made them pay when he aimed for the bottom corner and the ball trickled past Benda after taking a deflection.
Having already surrendered a 2-0 advantage to Swansea earlier in the season, the Royals knew they had to guard against complacency to cement the result.
Just after the hour mark Russell Martin made a triple change to try and get his side back in the game.
Reading thought they had a third when Ince went through and finished neatly past the keeper only to be caught offside.
Reading’s first change, a few minutes later, saw Meite replaced by Baba Rahman.
After a stray pass, Mamadou Loum tried to catch the keeper out from the halfway line, but his effort flew wide.
With 20 minutes to go, Swansea grabbed a lifeline when Liam Cullen was on hand to tap home from two yards out after Joel Piroe’s header struck the post.
Looking to consolidate the lead, Amadou Mbengue and Shane Long were introduced for the final 15 minutes in place of Carroll and Junior Hoilett.
There were a couple of late scares as Reading instinctively dropped deep to try and preserve their lead, including a calm catch from Lumley in added time from a powerful header.
But Reading managed to claim the points with a dogged defensive effort after surviving six minutes of added time to climb up the table.
Next up for the Royals is an away trip to Norwich City on Friday night.
Reading: Lumley, Yiadom (c), Holmes, Sarr, McIntyre, Hoilett, Hendrick, Loum, Ince, Meite, Carroll
Subs: Bouzanis, Rahman, Mbengue, Guinness-Walker, Azeez, Long, Joao
Swansea City: Benda, Manning, Fulton, Cabango, Darling, Allen, Grimes (c), Piroe, Wood, Sorinola, Cooper
Subs: Fisher, Paterson, Cundle, Oko-Flex, Latibeaudiere, Naughton
Goals: Carroll 27’, Ince 53’, Cullen 71’