Reading ended a five-match winless run with an impressive victory against top-six rivals Bristol City.
Ovie Ejaria gave the hosts a deserved lead, cutting inside and unleashing a low shot from the edge of the box which took a heavy deflection off Zak Vyner and beat City keeper Daniel Bentley.
Nahki Wells levelled with just City’s second attempt on goal, pouncing on a loose ball from a free-kick and tucking the ball under Rafael Cabral.
But their parity was short lived when Michael Olise’s superbly weighted through ball sent Yakou Meite clear to slot past Bentley before Lucas Joao sealed the points from close range after another quick counter-attack.
The Royals were full value for the points, which lifted them up to third, and would have won by a greater margin without a string of top saves from Bentley.
They showed almost all of the attacking intent in a cagey first half, with Bentley brilliantly turning away Meite’s shot on the swivel and then tipping over a stinging long-range effort from Joao.
Bentley denied Meite again moments before City’s run of three clean sheets came to an end, and then superbly clawed Tom Holmes’ powerful header away from the top corner to prevent the hosts doubling their lead.
Meite went clear but saw his effort saved before Michael Morrison kicked fresh air when picked out unmarked four yards out as Reading continued to dominate at 1-0. It looked a decisive miss when Wells levelled despite strong claims for offside.
But Meite and Joao struck to consign City to a first defeat in five matches, with Meite also heading wide with the goal gaping after a deflected effort hit the bar.
As well as an impressive attacking display, Royals boss Veljko Paunovic will have been pleased to limit the Robins threat, having conceded 16 goals in their previous six games.
- 33Cabral Barbosa
- 11MeiteSubstituted forPontes Estevesat 90+5′minutes
- 7OliseSubstituted forSemedoat 81′minutes
- 14EjariaSubstituted forAlukoat 90+5′minutes
- 18Lucas João
- 2Pontes Esteves
- 23MooreBooked at 65mins
- 25RoweSubstituted forWellsat 56′minutes
- 2HuntSubstituted forEdwardsat 86′minutes
- 4NagySubstituted forBruntat 73′minutes
- 11O’DowdaSubstituted forMassengoat 87′minutes
- 9DiédhiouSubstituted forMartinat 56′minutesBooked at 70mins
Match ends, Reading 3, Bristol City 1.
Second Half ends, Reading 3, Bristol City 1.
Substitution, Reading. Tomás Esteves replaces Yakou Meite.
Substitution, Reading. Sone Aluko replaces Ovie Ejaria.
Han-Noah Massengo (Bristol City) wins a free kick in the defensive half.
Foul by Josh Laurent (Reading).
Attempt blocked. Ovie Ejaria (Reading) right footed shot from the left side of the box is blocked. Assisted by Alfa Semedo.
Goal! Reading 3, Bristol City 1. Lucas João (Reading) left footed shot from the centre of the box to the bottom right corner. Assisted by Yakou Meite.
Offside, Reading. Alfa Semedo tries a through ball, but Yakou Meite is caught offside.
Han-Noah Massengo (Bristol City) wins a free kick in the attacking half.
Foul by Josh Laurent (Reading).
Substitution, Bristol City. Han-Noah Massengo replaces Callum O’Dowda.
Substitution, Bristol City. Opi Edwards replaces Jack Hunt.
Attempt blocked. Alfa Semedo (Reading) right footed shot from the centre of the box is blocked.
Attempt blocked. Lucas João (Reading) header from the centre of the box is blocked. Assisted by Ovie Ejaria with a cross.
Corner, Reading. Conceded by Zak Vyner.
Attempt blocked. Lucas João (Reading) right footed shot from outside the box is blocked. Assisted by Ovie Ejaria.
Substitution, Reading. Alfa Semedo replaces Michael Olise.
Attempt missed. Yakou Meite (Reading) header from the centre of the box is close, but misses to the left.
Attempt blocked. Omar Richards (Reading) left footed shot from outside the box is blocked. Assisted by Andy Rinomhota.