Sheffield United 2-1 Reading
- Coutts curls stunning effort to give Blades the lead after 20 minutes
- Sharp doubles the lead with simple tap-in after Duffy's cross
- Beerens replies late on for Royals to set up tense finish
- John Swift and Paul McShane return after injury absences
The hosts pressed high early on to try and see plenty of the ball against the Royals.
Jaap Stam's side broke, though, through Dave Edwards and Mo Barrow linking up on the right. The winger burst forward and cut back, but it ricocheted off a defender and out to safety.
The Blades kept up the tempo and forced a corner, which was whipped towards the back post. Jack O'Connell prodded at goal but Vito Mannone was equal to the effort to save.
Enda Stevens then broke away on the left for the hosts, putting a teasing ball into the six-yard box, and Leon Clarke blazed over from close range in a lucky escape for the Royals.
Unfortunately for Reading, the Blades would get their breakthrough from a moment of real quality.
Following a half-clearance in defence, Paul Coutts was on hand to pick up 20 yards out and curl an unstoppable effort into the top corner.
The goal seemed to make the Royals kick up a gear, stringing together longer spells of possession and forcing the initiative in the Sheffield United half.
However, they got caught out on the break as Mark Duffy was played through in space on the right, sliding across goal for skipper Billy Sharp to tap in and double the lead.
The Royals responded again afterwards, Roy Beerens taking a pot-shot from 25 yards but it caught the goalkeeper by surprise and only edged wide of the post by a matter of inches.
Despite further forays forward towards the end of the half, Reading couldn't claw a goal back before the break.
Half time | Sheffield United 2-0 Reading
The second half started in the same vein as the first, with the hosts on the front foot. Mannone had to be alert as a cross from Duffy was met by Sharp, with his effort saved by the reactions of the Italian.
Mannone initiated a quick counter with Beerens on the run, switching for Leandro Bacuna, but his cross was straight into the path of goalkeeper Blackman.
Paul McShane and John Swift were introduced in the second half following injury absences, with the latter driving on into the area, taking it past two Blades but getting put off balance at the crucial moment.
Swift's introduction brought a renewed impetus going forward, and the Royals looked increasingly threatening in the Blades' half as time ticked on, Chris Gunter crossing from wide left and finding McShane's head, but it bounced just wide.
The Royals were then thrown a late lifeline as Barrow got in behind the defence, crossing low to the back post and finding Beerens for a tap-in, setting up a grandstand finish at Bramall Lane.
Swift danced past three United defenders to get into the area, but it was well cut out by the last man. This was quickly followed up by Dave Edwards sliding a through-ball to Barrow, whose cross was cleared.
At the other end, Clarke beat the offside trap and went one-on-one with Mannone, with the goalkeeper standing his ground and saving superbly with his legs.
Despite their late flourish, it wasn't to be for the Royals on the day.
Full time | Sheffield United 2-1 Reading
Sheffield United: Blackman, Baldock, Stevens, Fleck, O'Connell, Basham, Clarke, Sharp (c) (Lundstram 81), Coutts, Carter-Vickers, Duffy (Brooks 73).
Subs: Moore, Donaldson, Wright, Lafferty, Carruthers.
Goals: Coutts 19, Sharp 37
Reading: Mannone, Gunter (c), Ilori, Moore, Blackett (McShane 55), Van den Berg, Bacuna (Clement 77), Barrow, Edwards, Beerens, Aluko (Swift 66).
Subs: Jaakkola, Kelly, Richards, Smith.
Yellow: Van den Berg, McShane
Goals: Beerens 85
Att: 26,265 (1,150 away)