United manager Chris Wilder had said his side wanted to be successful in the competition, having gone out in the third round last year to non-league Barnet, and needed extra-time to reach their first quarter-final since 2014.
The Blades did not have to wait long to take the lead, going ahead in just the second minute.
Luke Freeman drove through the midfield, before passing to Ben Osborn who sent in a well-weighted cross from the left which McGoldrick headed home.
The goal was the Republic of Ireland international's first for his club in 1,344 minutes of football.
McGoldrick looked to add to his tally for the season in the 34th minute but his shot from outside the box was straight at goalkeeper Rafael.
Reading leading goalscorer Puscas calmly put the ball to the right of Henderson to level the tie and score his 11th goal of the season in all competitions.
Just after the hour mark, the visitors looked to increase the pressure on the home side, with Sander Berge having an effort blocked by the Reading defence.
With just over 15 minutes left, Freeman tried to put his side ahead for the second time in the game but his shot from distance was parried away by the Reading goalkeeper and the contest went into extra-time.
The hosts threatened first in the additional half an hour, as Rinomhota weaved through the Blades defence, only to send his strike wide of the target.
In added time in the first period of extra time, Sharp made the decisive breakthrough when he nodded in a Freeman cross.
The 34-year-old had only scored two goals prior to this match, compared to 24 the previous season – but his header was enough to see his side through.
On-loan Monaco midfielder Pele almost levelled in the final minute of added time – but his strike bounced off the outside of the post with Henderson beaten.