Villa, who clinched the tie 7-4 on aggregate, will play Manchester United or Manchester City at Wembley Stadium on February 28 in their first League Cup final since 1996.
They made it thanks to a fighting comeback after Rovers were reduced to 10 men, when defender Christopher Samba was sent off after 39 minutes.
Martin O'Neill's team, 1-0 up on aggregate after winning at Rovers, found themselves 2-1 behind in the tie as Nikola Kalinic scored twice for the visitors in the opening 26 minutes at Villa Park.
Stephen Warnock halved the arrears after 30 minutes and James Milner equalised from the spot and put Villa 3-2 up overall following Samba's dismissal for a foul on Gabriel Agbonlahor, which led to the penalty.
An own goal from Steven Nzonzi put Villa 3-2 ahead after 53 minutes with Agbonlahor and Emile Heskey making it 5-2 on the night after 62 minutes.
Rovers kept on battling and Martin Olsson pulled one goal back a minute after Heskey had scored, before Brett Emerton made it 5-4 after 84 minutes.
Ashley Young swept in Villa's sixth goal in stoppage time.
Manchester City beat city rivals United 2-1 in the first leg of their semi-final on Tuesday. The second leg is at Old Trafford next Wednesday.
Snow hits League Cup semifinals
FA Cup: Manchester City crusie past Middlesbrough
League Cup: Villa scrape past Rovers in semis
EPL weekend fixtures
Inter's Vieira confirms move to Manchester City