Reading’s miserable home form continued as Middesbrough came from a goal behind to take three points in their fight against relegation with goals from Ashley Fletcher and Patrick Roberts.
Liam Moore marked his return to the line-up with a goal as scored from close range, before Ashley Fletcher equalised moments before half-time to end the Royals run of three consecutive clean sheets.
Boro then took the points when Roberts fired past Rafael in the 82nd minute to give his side a crucial victory to take a huge step towards safety.
No side has beaten Neil Warnock more times in his long and journeyed career than the Royals, but Boro extended their recent excellent record against Reading to make it seven wins in their last seven meetings.
Mark Bowen made one change from his sides 1-0 win at Charlton with skipper Moore returning to the side to replace the injured Pele.
Moore lined up in an unfamiliar role being deployed as a defensive midfielder to sit in front of the Reading back four.
George Puscas started brightly as he chased his heavy touch and used his strength to win a corner just a minute into the game. Michael Olise’s corner didn’t manage to beat the first man as it was headed away for another corner, with the exact same happening from the second corner.
The Royals first chance at goal fell to Moore after Meite won the first header from a corner and the ball dropped invitingly for the Reading captain to strike but his half volley flew into a crowd of Middlesbrough bodies.
Puscas picked up the first card of the game when he flew too eagerly into a tackle for the referee’s liking in the 19th minute.
Reading looked to break forward with numbers streaming forward following a Boro corner but they were stopped in their tracks but the ref’s whistle who pulled back the play to award a free kick to the away side from 25 yards out. The set piece was struck sweetly but flew comfortably over Rafael’s crossbar.
Olise stayed switched on defensively as he tracked back and got a toe to the ball to prevent Patrick Roberts from striking at goal.
The Royals worked a good move quickly up-field as Michael Morrison sent a long ball to Puscas who switched the ball out wide to Gabe Osho who tried to fire in a cross which hit Boro defender George Saville flush in the face, leaving him needing treatment.
After a few failed attempts, Olise got his delivery spot on this time as Reading opened the scoring in the 32nd minute. Yakou Meite leaped well at the front post to flick the ball into the middle and found Moore who smashed home from close range to net his first Championship goal of the season.
Neil Warnock’s side looked to hit back as Marcus Tavernier swung in a superb cross to the back post which was met by the head of Djed Spence who couldn’t direct his effort goalwards.
Reading then had two brilliant chances to double their lead in quick succession. Rafael punted a super goal kick up field to find Olise sprinting through on goal, but he was denied by Boro keeper Aynsley Pears who was judged to have made a fair challenge despite Olise’s appeals for a penalty.
Just moments later Swift let fly from 20 yards out and rattled the far post with a low drive.
Having ridden their luck to not be two behind, Boro turned their fortunes around and found an equaliser on the stroke of half-time. Ashley Fletcher glanced Roberts’ cross into the far corner to beat Rafael and level the score.
Andy Rinomhota received Reading’s second yellow of the game as he made a cynical foul on the wing to stop a Boro attack.
Meite went close just after the hour mark as Reading kept the ball patently before the Ivorian flashed an effort just past the post.
Looking for his second of the game, Fletcher tried his luck from 20 yards out with a powerful strike which was palmed away by Rafael.
Bowen used his first change in the 72nd minute as Ayub Timbe Masika came on in place of Olise, while the visitors replaced goal scorer Fletcher with Britt Assombalonga.
Roberts had a golden chance to put Boro in front with just 15 minutes left as he beat two defenders and cut inside the box on his left but Rafael got down low to prevent his shot from hitting the net.
Another big chance fell to the feet of Roberts and this time he seized his chance. A cut back found its way to the Boro man who fired in at the near post past Rafael in the 82nd minute to put the away side in front.
Bowen made two more changes as Jordan Obita and Garath McCleary came on to try and salvage a result, however they would be unsuccessful as Reading’s puzzling poor home form continued.
Reading travel to Blackburn Rovers before hosting Swansea City next Wednesday (7.30pm).
Reading: Rafael, Blackett, Morrison, Moore, McIntyre, Osho, Rinomhota, Swift, Olise, Meite, Puscas.
Subs: Walker, Gunter, Miazga, Baldock, Obita, McCleary, Boye, Masika, Richards.
Middlesbrough: Pears, Spence, Dijksteel, Fry, Friend, Johnson, Howson, Saville, Tavernier, Roberts, Fletcher
Subs: Stojanovic, Coulson, Wood, Clayton, Wing, McNair, Nmecha, Assombalonga
Goals: Moore 33′, Fletcher 45′, Roberts 82′