Marvin Johnson’s sole goal gave Middlesbrough a 1-0 win at the Royals’ expense – a cruel reflection on a strong performance for the Royals.
The Royals had created plenty of chances in the first hour of the game, but couldn’t quite convert – and then with a touch of fortune, Johnson’s free-kick crept in. Boro had goalkeeper Darren Randolph to thank as a glut of incredible saves kept the door shut, and meant Reading left empty handed.
On a return to league action after the international break, José Gomes gave Yakou Méïté, Andy Rinomhota and Lucas Boyé their returns to the starting XI. On the bench, meanwhile, Tyler Blackett was deemed fit enough to make the squad for the first time this season.
Hosts Boro had two decent openings in the early exchanges – firstly a Marvin Johnson cross flashed just past everyone in the area, and then Ashley Fletcher’s cross-shot from a tight angle was diverted off target by a lunging challenge by skipper Liam Moore.
Then the Royals carved open the hosts’ defence but couldn’t convert - a sign of things to come in the first half, as decent chances went begging. The move all began with a terrific piece of interception by Tom McIntyre, allowing Omar Richards to send Boyé scampering away. John Swift’s pass sliced through to Méïté, but the Ivorian’s effort was blocked by a desperate challenge from Ryan Shotton.
Even when Méïté got the better of Shotton, goalkeeper Darren Randolph was the one to frustrate the front-man. The Royals forward rolled a challenge on the right flank and drove at goal from the byline – only for the goalkeeper to dart of his line and bravely collect at Méïté’s feet.
From a free-flowing move, the Royals almost had an unlikely finisher on the end of it in the form of Moore. After intercepting on half-way, the defender continued his run into the area, overloading the box. No defender picked him up on the far side, but Andy Yiadom’s teasing cross was inches out of reach.
The Royals held all the momentum and were winning the ball back regularly. John Swift was setting the tempo for Reading, and was next to have a crack, drifting into the area and never really troubling Randolph with a low, tame effort with his left.
The Riverside faithful were growing weary with some of the misplaced passes from their team – one of which was straight into the path of Méïté, who charged at goal with two Boro players in tow. The defence did enough to make him take his shot early – Randolph scooped up the powerful drive at the second attempt.
Commotion reigned on the Royals bench when Adam Clayton flattened Méïté in the centre circle. The Boro midfielder appeared to lead with a raised arm as he clattered through the Reading man, but the referee only stopped play to attend to a potential head injury.
On the stroke of half-time, Ovie Ejaria’s bold, jinking run almost opened things up as he squared for Yiadom in the area; the right-back elected to try and cushion into the feet of Swift, rather than pulling the trigger, and the ball squirmed agonisingly out of play.
Half-time: Middlesbrough 0-0 Reading
Boro had the ball in the net two minutes after the interval - but it was chalked off quickly. Captain Dael Fry was offside as he cushioned down Lewis Wing's set-piece delivery for Britt Assombalonga to tuck in, meaning celebrations were cut short.
Boyé had a shot saved from the edge of the area, and from a similar place on the park, Ejaria found an angle but was denied by Randolph at full stretch. Reading's attack continued to threaten but the deadlock remained.
So it was gut-wrenching when the opening goal went the way of the hosts. Johnson fizzed a low, inswinging free-kick from a wide angle - Ashley Fletcher tried to turn it in, but the ball crept all the way in untouched on the far side.
Gomes rolled the dice in response; on came Lucas João and George Pușcaș in place of Rinomhota and McIntyre, a bold couple of changes.
Reading were piling forward but were being left frustrated. When Boyé bulldozed through Anfernee Dijksteel on the left, Randolph's improvised stop from a tight angle kept Boro's sheets clean.
It was becoming a wide-open affair, with both sides desperate for the game's second goal. After being bundled down 20 yards from goal, Swift dusted himself down to hit a free-kick - which Randolph tipped over. Then Pușcaș could only divert a left-footed volley over the frame of goal after good work on the byline from Richards.
Randolph was the busier of the goalkeepers throughout - and João was the latest to be foiled in the 89th minute, as the goalkeeper flung a desperate hand to deny a deft headed equaliser. Moore suffered a similar fate soon after as he attacked a delivery.
If Méïté had been able to stretch far enough to tuck in Richards' cross in stoppage time, it would have resulted in a well-merited point for Reading. But the Royals had nothing to show for their efforts when the referee called time - not a fair reflection on the ebb and flow of the game.
Full-time: Middlesbrough 1-0 Reading
Middlesbrough: Randolph, Dijksteel, Bola (Ayala 68), Shotton, Fry (c), McNair, Johnson (Tavernier 90+3), Wing (Saville 86), Clayton, Assombalonga, Fletcher.
Unused subs: Browne, Malley, Walker, Pears.
Goal: Johnson (60).
Reading: Rafael, Yiadom, Morrison, Moore (c), McIntyre (João 66), Richards, Rinomhota (Pușcaș 66), Swift, Ejaria, Méïté, Boyé (Loader 84).
Unused subs: Virgínia, Blackett, Adam, Pelé.
Yellow: McIntyre, Boyé, Morrison.
Referee: Mr R Jones