READING FC secured their fourth win in six unbeaten matches with a pulsating victory against Brentford at Madejski Stadium.
Jaap Stam’s men were heading for their third home defeat of the season after Jota and Lasse Vibe scored within three second-half minutes to cancel out John Swift’s first-half opener.
But Royals, who looked dead and buried at that point, somehow staged an incredible comeback as Danny Williams made it 2-2 in the 77th minute before Roy Beerens grabbed a dramatic winner four minutes later.
It was an incredible finish to an enthralling contest that swung one way and other from the first minute to the last.
Reading were in command early on, but somehow lost their rhythm and appeared vulnerable to every Bees counter-attack.
Yet somehow, and with the help of a vital triple substitution, they found the resolve to fight back from the brink to clinch a memorable comeback.
This was sweet revenge on St Valentine’s Day for the 4-1 hiding Reading took at Griffin Park in September.
And it was also Royals’ first home win against Brentford for more than 16 years, and it could be a significant night in the promotion race after the top two – Newcastle and Brighton – could only draw while the four teams beneath, Huddersfield (3rd), Reading (4th), Leeds (5th) and Sheffield Wednesday (6th) all won.
In bid to add fresh legs, Stam made three changes from the side that drew 0-0 with Barnsley on Saturday.
Lewis Grabban came in for his full Royals debut in place of Yann Kermorgant. Swift also stepped in for George Evans while, Jordon Mutch replaced Beerens.
It was an attack-minded line-up, with Chris Gunter, Liam Moore and Tyler Blackett making up a three-man defence, Williams and Jordan Obita as wing-backs, Liam Kelly, Mutch and Swift in midfield and Grabban up top with Garath McCleary.
Reading played some decent stuff in the opening moments, but it took them 12 minutes to ask questions of the Bees defence, Swift and Mutch linking up before the latter’s cross was desperately clawed away by Daniel Bentley, with Grabban lurking on the back post.
And though McCleary blazed over after cutting in from the right, the movement between the Royals was still impressive to watch.
Neither were they afraid to shoot from range, Mutch blasting one over from 25 yards with 18 minutes gone.
So there was little surprise when Stam’s men broke the deadlock in the 22nd minute.
McCleary’s pace took him clear down the right and when he squared the ball for Grabban to tap home, Maxime Colin’s slid in to intercept, only to divert it onto his own post, with Swift arriving in perfect time to slam home the rebound.
It was no more than Royals deserved and they could have pulled even further clear as Moore sent a free header over from a McCleary cross five minutes later, then the unmarked Grabban missed his kick from 12 yards out after McCleary found him with a perfect cross.
Brentford looked shellshocked and had little to offer in way of encouragement apart from a Sergi Canos effort which hit the side netting.
Then without warning, the visitors almost drew level from two chances in the space of a minute.
Canos robbed Gunter after a poor pass from Mutch and fed Lasse Vibe whose shot was blocked by Moore.
The rebound fell nicely for Nico Yennaris on the follow-up, but Ali Al-Habsi made a blinding save at full-stretch to preserve his side’s lead.
Now Reading looked shaky as Brentford threatened again and again. Jota’s shot fizzed across the face of goal before the same Bees player tested Al-Habsi from the edge of the box.
Another Bees chance went begging three minutes before the break when Vibe headed wide from six yards from a Yennaris centre.
And the Brentford fans were screaming for a penalty as half-time approached when Mutch appeared to push Canos over, but referee Keith Stroud did not want to know.
Reading’s nervy end to the first half carried over into the second, Canos drilling one narrowly wide in the 48th minute.
So when the former Barcelona youngster was taken off on the hour after picking up a booking, Reading breathed a huge sigh of relief.
Sadly, they conceded less than two minutes later with Canos’ replacement Florian Jozefzoon playing a vital role after teeing up Jota who smashed one home from 10 yards without breaking stride.
In truth, the equaliser had been coming and within three minutes of that, Royals went behind.
Jota’s pass sliced open the home defence and Vibe did the rest, turning inside Tyler Blackett before hammering the ball home off the helpless Gunter.
Now Reading fans were letting their feelings known, and Stam acted with a triple substitution 17 minutes from time, sending on Kermorgant, Evans and Beerens for Grabban, Kelly and Swift.
It paid dividends as Royals levelled in the 77th minute, with Kermorgant heavily involved.
The Frenchman’s pass put McCleary in the clear and when his cross arrived, Williams was on the spot to convert from close range for his fourth of the campaign.
Now the force was back with Reading, and Stam’s men achieved what looked beyond them just moments earlier by going back in front four minutes later.
McCleary forced Bentley into a mistake wide on the left, Kermorgant, spotting the keeper way off his line, shot from 35 yards and Beerens followed in just to make sure, nudging the ball into the empty net for his seventh of the season.
Even then there was little time to rest as Brentford hit back, Jozefzoon drilling an effort across the goalmouth then Vibe shooting narrowly wide in the closing stages.
And Bees nearly snatched a point in injury time, but Vibe took too long in front of goal allowing Royals’ defence to cover then Jozefzoon aimed a free-kick straight down Al-Habsi’s throat.
Reading are without a fixture this weekend but face a vital trip to Huddersfield Town next Tuesday night.