Queens Park Rangers ended a run of three successive defeats as they gained a deserved Championship victory at Reading.

Brent & Kilburn Times: Queens Park Rangers's Nahki Wells (left) is tackled by Reading's Josh Sims (pic Andrew Matthews/PA)Queens Park Rangers's Nahki Wells (left) is tackled by Reading's Josh Sims (pic Andrew Matthews/PA) (Image: PA Archive/PA Images)

Rangers dominated much of the match, especially in the first half when Jordan Cousins and Nahki Wells missed presentable opportunities.

Skipper Toni Leistner grabbed the winner, against a poor Reading side who offered too little too late, in the 64th minute.

Rangers had lost their past three matches, including a 2-0 defeat at League One Blackpool in the Carabao Cup third round, and had failed to score in all of them.

They lost 3-0 at Swansea in the Championship on Saturday, while Reading had shown improved form, losing only once in their four previous league outings.

Brent & Kilburn Times: Reading's Leandro Bacuna (right) gets away from Queens Park Rangers's Geoff Cameron (pic Andrew Matthews/PA)Reading's Leandro Bacuna (right) gets away from Queens Park Rangers's Geoff Cameron (pic Andrew Matthews/PA) (Image: PA Wire/PA Images)

They drew 2-2 against Brentford at the weekend, conceding a stoppage-time equaliser at Griffin Park.

But the home side suffered a setback before kick-off when striker Jon Dadi Bodvarsson, their six-goal leading scorer, was injured during the warm-up.

Yakou Meite replaced the Icelander in the starting XI, with 18-year-old Danny Loader coming on to the substitutes’ bench.

Rangers were quick to take advantage of Reading’s initial and inevitable disorganisation through a series of pacy attacks.

Brent & Kilburn Times: Reading's Liam Kelly (left) and Queens Park Rangers's Angel Rangel battle for the ball (pic Andrew Matthews/PA)Reading's Liam Kelly (left) and Queens Park Rangers's Angel Rangel battle for the ball (pic Andrew Matthews/PA) (Image: PA Wire/PA Images)

But the hosts survived unscathed and created the first half-chance when Liam Kelly’s cross-shot was deflected to safety.

QPR replied almost immediately, with defender Jake Bidwell crossing superbly from near the left byline after a good run.

Cousins rose unmarked, but, with home goalkeeper Sam Walker stranded, he directed over a poor header.

Rangers threatened again when Cousins crossed from the right to the near post.

Brent & Kilburn Times: Reading's Sone Aluko (left) gets away from Queens Park Rangers's Jake Bidwell (pic Andrew Matthews/PA)Reading's Sone Aluko (left) gets away from Queens Park Rangers's Jake Bidwell (pic Andrew Matthews/PA) (Image: PA Wire/PA Images)

Reading captain Liam Moore slipped when trying block it and the ball struck fellow centre-back Tiago Ilori before ricocheting narrowly behind for a corner.

Saeid Ezatolahi, Kelly and Meite squandered openings for the hosts, but QPR should have gone in front before the interval.

A quick break allowed Eberechi Eze to set up Wells, but Walker, on his 27th birthday, made a fine smothering save to deny him.

Reading began brightly in the second half, with Ezatolahi releasing Meite with an excellent 40-yard pass.

Brent & Kilburn Times: Queens Park Rangers manager Steve McClaren (left) before the Sky Bet Championship match at Reading (pic Andrew Matthews/PA)Queens Park Rangers manager Steve McClaren (left) before the Sky Bet Championship match at Reading (pic Andrew Matthews/PA) (Image: PA Wire/PA Images)

But Meite completely lost his composure when faced by QPR keeper Joe Lumley and blazed his effort high over the crossbar.

Rangers were soon back on the offensive and went in front after Walker had produced a stunning near-post save to keep out Cousins.

From Luke Freeman’s resulting corner – and after a frantic melee in the home area – Leistner thumped the ball home from close range.

Meite twice went close to an equaliser in the closing stages, but jabbed a shot against a post and then, soon after, nodded just wide. And QPR held on relatively comfortably to end their winless run.

QPR: Lumley, Rangel, Leistner, Lynch, Bidwell, Cousins (Wszolek 82), Luongo, Cameron, Freeman, Eze (Scowen 80), Wells (Hemed 75). Unused subs: Ingram, Hall, Smith, Osayi-Samuel.