Hesitating under pressure, Manchester United-bound centre-back Smalling allowed himself to be outjumped for the first as Agbonlahor rose high to nod home.
Sir Alex Ferguson, watching from the stands ahead of next month's Carling Cup final against Villa, would not have been impressed by the lapse in concentration from the 20-year-old who will join United at the end of the season after completing a £7million transfer this week.
Hangeland was culpable for the second after being turned far too easily by Agbonlahor, who produced an impressive finish to leave Fulham reeling at half time.
The two-goal haul will be welcomed by Agbonlahor and Villa manager Martin O'Neill following concerns the club's leading scoring had been suffering from a crisis in confidence.
The England marksman started the day with 10 strikes this season, yet the last time he had scored in the Premier league was against United on December 10.
More crucially for Villa, who named an unchanged side following the goalless draw with Arsenal, the brace ended their four-match winless run that was in danger of seeing them fade in the race for a top-four finish.
There was little of the long-ball football Arsene Wenger had complained of in midweek, just a comfortable and clinical victory over a team in freefall.
Out-of-form Fulham were unbeaten at Craven Cottage since September before today and must cast their minds back to their 3-0 drubbing of Manchester United six weeks ago for their last Premier League triumph.
Fulham midfielder Simon Davies made his first start since December 3 and was involved early on when his well-struck volley bounced off goalkeeper Brad Friedel.
It was then the turn of Cottagers stopper Mark Schwarzer to come to his side's rescue as he plucked a fine Stewart Downing delivery from the air as Emile Heskey attempted to shove him off the ball.
Ashley Young forced an easy save from Schwarzer and by the 24th minute Davies' match was over as he limped off to be replaced by Zoltan Gera.
Soon in the thick of the action, Gera was crowded off the ball as he picked his shot, giving Friedel time to react, and then Nevland nodded over the crossbar as Fulham finally began to threaten.
Sharp reflexes from Schwarzer saved the Cottagers at the other end when Ashley Young's cross was met by Luke Young whose header was expertly palmed to safety by the Australian.
Stiliyan Petrov wasted a great chance when he picked up the ball with just Schwarzer to beat from six yards out only to sky his shot high.
With the tempo of the match finally starting to pick up after a lethargic start, Bobby Zamora wasted a great opportunity to send Fulham ahead, only to stab over the crossbar after showing great technique to control a long ball.
But Villa were clearly the more dangerous side and in the 40th minute they deservedly raced ahead through Agbonlahor.
Petrov produced a cross which should have been cleared by Smalling but instead the 20-year-old centre-back allowed Agbonlahor to sneak in and nod home.
Three minutes later Villa surged 2-0 ahead, Carlos Cuellar picking out Agbonlahor who left Hangeland for dead before producing a brilliant finish.
Fulham fans watched in frustration as their team broke clear through Danny Murphy midway through the second half only to see the move peter out amid a lack of decisiveness.
Substitute David Elm finally found the net for Fulham but the flag went up for offside and then the forward was denied by a great last-ditch block from Richard Dunne.