The Royals had already knocked out Premier League sides Liverpool and Burnley and a third scalp appeared imminent after Shane Long marked his return from suspension with a two-goal blast during the opening 45 minutes.
Brian McDermott’s side were the better team, with Jimmy Kebe causing problems down the right flank and the Villa defence looking nervy.
But Villa turned the tie on its head in dramatic fashion with three goals in the first 12 minutes of the second half through Ashley Young and two from Carew.
Then, in injury time, Carew completed his hat-trick from the penalty spot after being brought down by Ivar Ingimarsson.
Young, James Milner and Stewart Downing also played major roles in Villa ensuring they reached the last four.
Reading opened brightly and Matt Mills squandered a good chance to put them ahead after 10 minutes.
A deep cross from Brian Howard was headed back across goal to Mills, who was in space 12 yards out but he completely miskicked his attempted volley.
Kebe had the ball in the Villa net shortly afterwards but referee Mike Dean had already awarded a free-kick to the visitors for a foul by Simon Church on Stephen Warnock.
Villa retaliated and a low cross from Emile Heskey carried just too much pace to pick out the run of Carew into the box.
Kebe cut out a dangerous cross at full stretch from Milner, who then sent a half-volley over the bar after a Downing corner had only been half cleared.
Reading continued to look threatening and Richard Dunne became the first player to be yellow-carded after 25 minutes for a challenge on Kebe.
Then, two minutes later, Long marked his return from a four-game ban by putting Reading ahead.
A corner from Brian Howard was headed on by Mills and Long was on hand to head past Brad Friedel from close range.
Carew thought he had equalised a minute later when he swept home a free-kick from Milner but he was adjudged to have been offside, although TV replays suggested it was a borderline decision.
But Reading continued to pose a threat and Gylfi Sigurdsson had a powerful goal-bound shot blocked by Dunne.
Young was booked for dissent five minutes before half-time even though Dean awarded Villa a free-kick for a challenge on Carew by Howard.
Then, in the 43rd minute, Long struck for the second time.
A fine move down the right flank saw Sigurdsson find Kebe, who outpaced the Villa defence before cutting the ball back across the box to Long, who made no mistake from 12 yards out.
Villa boss Martin O’Neill would have demanded a positive response from his side in the second half and Young reduced the deficit within two minutes of the restart.
Downing’s cross was helped on by Carew and, although Carlos Cuellar mis-kicked, Young was on hand at the far post.
Villa were looking a completely different side and, in the 51st minute, Downing created another goal, this time for Carew.
The former Middlesbrough player was found in space by Milner and his cross was inch perfect for Carew to head wide of Adam Federici.
Then, incredibly, after 57 minutes, Carew struck for the second time to put Villa ahead.
The over-lapping Warnock raced onto a pass from Young and his low centre was met by Carew, who deflected the ball into the far corner of the net with the neatest of touches.
The Norwegian international was booked after celebrating with the Villa fans.
Heskey could have sealed the tie when he raced clear of the Reading defence but Federici blocked his shot.
Reading started to regain their composure and Young came to Villa’s rescue when he cleared a header from skipper Ingimarsson off the line.
Then Friedel held onto a volley from Reading substitute Grzegorz Rasiak.
Jay Tabb was booked for bringing down Milner, who himself was yellow-carded for halting Kebe in full flight, before Carew completed his treble from the spot.