Early pressure paid off as they took the lead on the night with a Christian Benteke strike after 24 minutes.
Villa continued to force the issue in the latter stages of the first period, but it remained 1-0 at the break with Bradford still leading on aggregate.
The away side sensationally levelled on the evening after 55 minutes, however, when James Hanson thumped a powerful header into the back of the net.
Both teams had chances in the latter stages and Villa made it 2-1 on the evening through Andreas Weimann late on, but it was not enough as Bradford advanced 4-3 on aggregate.
Read how it all unfolded in Sports Mole's minute-by-minute live commentary of the action below.
ASTON VILLA: Given; Vlaar, Clark, Bennett, Lowton; Ireland, Delph, N'Zogbia, Bannan, Agbonlahor; Benteke
BRADFORD CITY: Duke; McHugh, Darby, McArdle, Good; Atkinson, Doyle, Hines, Jones, Wells; Hanson