Villa's worst start to a Premier League season continues as a late strike from the Northern Irishman handed the Cottagers a deserved victory over Paul Lambert's men
The Cottagers dominated much of the game, and eventually broke down a patchwork Villa defence that had defended bravely throughout when the former Southampton defender prodded in from a John Arne Riise corner.
Fulham made a fast start to the game and forced Villa keeper Brad Guzan into a couple of early saves as both Dimitar Berbatov and Kieran Richardson were denied by the American shot-stopper within the space of a minute.
Berbatov was the at the hub of every Fulham attack in the early stages, and the Bulgarian almost set up the opening goal, delivering a wonderful cross into the path of Mladen Petric, but the Croatian could only head well wide of Guzan's goal.
Guzan endured a busy opening to the first half, and Paul Lambert's men owed a debt to their keeper once more as he showcased good reflexes to tip a Richardson just past the post after good work from the former Sunderland man.
The Cottagers had a strong shout for a penalty turned down after Joe Bennett appeared to shove Hugo Rodallega in the back as the Colombian leaped to try and meet a cross from Riise, but Lambert will have been pleased with his defence, who performed valiantly to prevent Fulham from netting the opening goal that their play deserved.
Still, Villa could count themselves fortunate to go into the break on level terms, and they should have fallen behind just minutes before the interval as Steve Sidwell headed Rodallega's free-kick over the bar from close range.
The second half began in much more than subdued fashion than the first, but Fulham almost found a spectacular opener when Berbatov's bicycle-kick.
Villa, with the pace of Darren Bent and Gabriel Agbonlahor, were dangerous on the counter and came close to taking the lead themselves when Agbonlahor headed a Matthew Lowton delivery inches over the bar.
The visitors were forced into an emergency change on the hour mark, when Nathan Baker was replaced by Eric Lichaj after sustaining an ankle injury, however this did not appear to affect the Villans, who had finally managed to established a foothold in the game following their lacklustre showing in the first half.
Chances became fewer and fewer as the contest wore on, but Fuham were once again unlucky not to snatch the lead as Lowton produced an inspired piece of defending to block a point-blank effort from Rodallega after a marauding run down the right from Sascha Riether.
The game looked to be meandering towards a draw but just six minutes from time Fulham found their salvation as Baird flicked home a Riise corner after Guzan had produced a stunning save to deny Ashkan Dejagah.
Seconds later Villa should have levelled, Belgian striker Christian Benteke firing just wide after Charles N'Zogbia had done superbly well to break down the right-flank.
Both Brett Holman and Lowton had late chances to level for the visitors but in the end they were punished for a lack of attacking flair as Martin Jol's men held on to claim all three points.