A frustrating night in South Wales fitted the old adage of 'a game of two halves'. Firstly Cardiff dominated the opening 45 minutes and were unlucky not to go ahead on the quarter hour when they hit the woodwork twice in the space of 30 seconds.
Fraizer Campbell was played into the box and his effort was deflected by Brad Guzan onto the post and then moments later the ball landed to Craig Noone and his 25-yard attempt was deflected against the crossbar with the keeper beaten.
Kenwyne Jones wasted a glorious headed opportunity for Cardiff after 31 minutes when he could only fire wide from a corner as Cardiff went in at half-time feeling they should have been ahead.
However, the second half was all Villa as they stepped up to boss proceedings. Leandro Bacuno missed Villa's first great chance to take the lead. He ran clear on the break and decided to shoot from an angle but dragged his effort wide when Christian Benteke was free in the box.
Villa piled the pressure on as Cardiff sat deeper and deeper. Marc Albrighton brought the best out of David Marshall with a dipping volley and then the Scotland keeper pulled off another great save to keep out a Fabian Delph effort that took a huge deflection on its way towards goal.
In the last ten minutes, Villa had two fantastic opportunities to take the lead. Firstly Gabriel Agbonlahor was gifted far too much space in the penalty box but he took an age to get a shot away and it was ultimately blocked.
Then in injury time, Marshall pulled off a wonder save to keep out Andreas Weimmann from close range. The Villa man prodded towards goal from six yards and Marshall stuck out a strong hand to stop the ball going in and prevent the visitors snatching a late winner.