READING celebrated their first home win against Cardiff City for more than a decade with a hard-fought 2-1 victory.

Royals hadn’t beaten Bluebirds at Madejski Stadium in six matches since 2006, but that run finally came to an end against Neil Warnock’s visitors this afternoon.

John Swift fired Reading in front in the 42nd minute only for Joe Ralls to level from the spot three minutes later after Liam Moore had fouled ex-Royal Sean Morrison in the area.

But Yann Kermorgant’s superb free-kick on the hour mark regained the lead for Jaap Stam’s promotion-chasing side.

This was Reading’s second home victory in a matter of days and it saw them reclaim third place in the Championship table from Leeds United, while opening an eight-point gap on Barnsley in seventh.

It wasn’t a vintage performance from Stam’s men, but they showed enough quality at the right times and rolled up their sleeves when the pressure was on.

Stam made one change from the side that beat Fulham 1-0 on Tuesday as Kermorgant shook off a bug to start up front, with Tyler Blackett the man to miss out.

That meant a change in formation with Chris Gunter switching to left wing-back and Garath McCleary on the opposite flank, while Paul McShane, Liam Moore and Joey van den Berg occupied the centre of defence.

In front of that Danny Williams, Liam Kelly and Swift sat in the centre of midfield with Beerens partnering Kermorgant up front.

Meanwhile, Rhys Healy made his first start for a Cardiff side skippered by Morrison, while Greg Halford also lined up in defence.

Reading were first to threaten when Kelly’s 25-yarder looked on target before it smacked into a City defender.

Bluebirds responded moments later when Kenneth Zohore’s effort was blocked by van den Berg.

Royals, though, hit back and McCleary tested Allan McGregor with a powerful shot from the edge of the box.

McCleary was a real thorn in Cardiff’s side, and he created a gilt-edged chance for Williams in the 19th minute.

The Jamaica winger glided past Jazz Richards as though he wasn’t there before teeing up Williams six yards out. But the USA international took an unnecessary touch instead of shooting first time allowing McGregor to gather.

City, though, almost snatched the lead three minutes later when Ralls’ effort from 20 yards took a deflection and bounced off the bottom of Ali Al-Habsi’s left-hand post. Then from that corner, Bamba volleyed horribly over.

Warnock’s men were happy to sit back and hit Royals on the break, one such move resulting in a free-kick on the left from which Morrison nodded over.

But the hosts suffered an injury blow four minutes before the break when van den Berg went off clutching his hamstring and was replaced by Blackett.

However, Royals broke the deadlock moments later when Williams’ drive was too hot for McGregor to handle, allowing McCleary to pick up possession and backheel to Swift who clipped the ball into the far corner for his sixth of the season.

Sadly, Reading’s lead lasted less than three minutes, Ralls drawing City level from the spot after a stray boot from Moore caught Morrison in the face in front of referee Tony Harrington.

It was a soft goal to conceded and Al-Habsi was kicking himself for not saving Ralls’ penalty which somehow squirmed under his body.

City came storming out after the break and Al-Habsi had to be alert to stop Junior Hoilett’s curler from creeping in at the far post.

But Royals regained the lead on the hour mark thanks to Kermorgant’s exquisite free-kick.

The French striker was hauled down by Bamba a few yards outside the box before picking himself up and hammering a shot past McGregor’s outstretched hand for his eighth of the campaign.

The force was now with Stam’s men, and they threatened again four minutes later when McShane headed over from Kelly’s corner.

But City almost equalised from a free-kick themselves, only Al-Habsi got quickly across to tip Hoilett’s effort over the crossbar.

And with 12 minutes left Kermorgant nearly went from hero to zero when he fluffed a clearance from Ralls’ corner, forcing Al-Habsi to punch clear on the line and save his blushes.

Warnock’s side simply refused to give in and they went close again with four minutes remaining when substitute Kadeem Harris raced into the area only to see his shot fizz across the face of goal.

But Reading, with 66 per cent possession on the day, survived some late pressure to secure all three points and keep themselves well in the promotion race.

Reading travel to Birmingham City on Tuesday (7.45pm ko).