An end-to-end affair that richly entertained a Valentine's Day crowd ended with three points for the Royals after a thrilling topsy-turvy encounter at the Madejski.
Reading took a lead into half-time courtesy of John Swift's opener, but an impressive Brentford outfit fought back to take a 2-1 lead thanks to goals from Jota and Lasse Vibe. But a triple substitution changed things at the Madejski and Reading came from behind to win 3-2 thanks to goals from Danny Williams and substitute Roy Beerens. What a win!
Royals boss Jaap Stam made three changes to his starting eleven, handing Lewis Grabban his full debut in place of Yann Kermorgant up front and starting home debutant Jordon Mutch and John Swift in midfield. Chris Gunter continues as stand-in skipper, while Roy Beerens and George Evans are named on the bench.
First chance of the game fell to the Royals. Tyler Blackett strode out of defence with real purpose and slid a throughball into Grabban running off the shoulder of the Bees' back line. But the offside flag went up against the striker so his cool finish was ruled out.
Daniel Bentley was called into action five minutes later when Mutch and Swift combined to good effect down the left. Mutch looked to dink the ball over the Brentford keeper but Bentley did enough to flap it away from his goal and the lurking McCleary at the far post.
The impressive Mutch was popping up all over the pitch and with 18 minutes gone he rifled a 20 yard effort just over the crossbar, having won the ball back from a dallying Brentford defence.
The Royals took the lead soon after and deservedly so. Kelly did brilliantly to squeeze the ball into McCleary down the right flank and the winger was away. Grabban was bursting forward in support in the middle and Maxime Colin was forced to slide in and knock the ball against his own post to prevent the ball reaching the loan striker. But John Swift was on hand to hammer home the rebound, reacting fast to the deflection off the woodwork to beat Bentley with a low drive.
It could have been too soon after when Liam Moore connected well with a far post header from McCleary's recycled corner kick, but the centre-back nodded over the bar.
But Moore was in the action at the other end as he blocked two shots on target from Lasse Vibe, Brentford looked for a response on the half hour mark. Sergi Canos' jinking run from the left also ended in a shot at goal, although this one was dragged wide of the target.
They almost had their equaliser when Mutch's pass back to Gunter was intercepted by Canos and the Spaniard cut the ball inside to Vibe. His shot was blocked by Moore, but the ball rebounded into the feet of Yennaris whose first time drive was well saved by Al Habsi diving low to his left. A lucky escape.
The visitors were pressing hard for a leveller though and Jota came close again when he dragged a shot across the face of goal and just wide. Then Vibe was denied by Al Habsi who shovelled the forward's drive from the edge of the box wide and smothered it at the second attempt.
Reading were running their luck and Dean Smith's men came close again when a cross from the right was glanced inches wide of the left upright by Vibe. And appeals for a penalty were ignored in injury time when Canos argued he was barged over by Mutch inside the box.
Half-time: Reading 1-0 Brentford
Brentford started the second half as they had finished the first. Canos got into the box from the left and scuffed a right-footed effort into the side netting. Bentley had to punch an inswinging Swift set piece moments later though as the game remained open.
Just before the hour, Yennaris volleyed an effort at goal but it was half charged down and deflected behind for a corner. At the other end, McCleary took on his man down the right and looked for Grabban with a fizzed cross into the six yard box that Bentley cut out with a good stop.
But Brentford had their equaliser when they broke soon after. Substitute Jozefzoon raced down the left and his cross deflected off Gunter and kindly for the lively Jota. He scurried onto it and smashed the ball home with a thunderous right-footed finish.
And Brentford had the lead soon after. Vibe sprung the offside trap to scamper down the right into space. He cut inside the last man and fired past Al Habsi and the backtracking Gunter couldn't keep it out of his own net.
It was a turnaround that the Bees had been threatening and after McCleary was scythed down by Woods on the break, Stam made a triple substitution - bringing Kermorgant, Beerens and Evans onto the pitch.
And Reading were level with a quarter of an hour to play. Kermorgant played a delightful ball into McCleary bursting down the right and his low cross was met by the sliding Williams in the middle - the US international turning it past a helpless Bentley for 2-2.
And with ten minutes left to play, Reading retook the lead. A long ball upfield from Gunter was chased down by McCleary and Bentley came racing out of his area and scuffed his clearance into the path of Kermorgant. He swept the ball towards the empty goalmouth and Beerens followed in to tap the ball home from close range.
It was a whisker away from 3-3 moments later when Jozefzoon escaped the attentions of Gunter on the left and bore down one on one with Al Habsi. The Omani dived to his right to save but Jozefzoon recovered the ball and fizzed a shot along the goalline but out for a throw to the Royals' relief.
Next Vibe had a shot deflected wide by Blackett and Moore after more good work from Jozefzoon - this time down the right - had presented a shooting opportunity to the striker. Al Habsi gathered the corner to give the game a moment's breathing space.
Five minutes of injury time were signalled and the away team threw everything at Reading. A fingertip from Al Habsi denied Vibe a tap in after Jozefzoon had toed the ball across the Royals box after scampering onto a direct ball from the back.
Al Habsi was cheered as he clung onto a set piece that flew over the wall in the last minute of injury time and Reading had hung on! Just. What a win! What an important three points.
Full-time: Reading 3-2 Brentford
Reading: Al-Habsi, Gunter (c), Obita, Moore, Blackett, Williams, Mutch, Kelly (Kermorgant 73), Swift (Evans 73), McCleary, Grabban (Beerens 73).
Subs: Jaakkola, Oxford, Popa, Meite.
Goals: Swift (21)
Yellow: Williams, Mutch
Brentford: Bentley, Colin, Bjelland, Dean (c), Yennaris (Kerschbaumer 84), McEachran, Field, Woods, Vibe, Jota (Clarke 80), Canos (Jozefzoon 61).
Subs: Bonham, Egan, Sawyers, Barbet.
Goals: Jota (63), Vibe (65)
Yellow: Canos, Jota, Woods.
Att: 15,710 (1,506 away)