The young England striker hit his 11th and 12th goals of the season to keep Martin O'Neill's side in touch with the top four, although they came as a result of defensive errors from Brede Hangeland and Chris Smalling, the young Fulham defender destined for a permanent move to Manchester United in the summer.
But it was no classic, with the first-half especially low in quality and high on errors. Both sides struggled to get the ball down and play, and long-ball side, there was a distinct lack of decent passing from both teams.
A rare move involving more than three passes ended with Ashley Young crossing for a glancing header from his namesake Luke that was tipped over the bar by Mark Schwarzer in the 33rd minute.
Fulham then had their best chance of the half when Bobby Zamora raced on to control a long ball out of defence, but as he waited for the ball to drop on to his right foot, Carlos Cuéllar got in an interception to send the ball over his own crossbar. Agbonlahor finally broke the deadlock five minutes before half-time.
The Villa striker had barely had a sniff of goal up to that point, but when Stilyan Petrov crossed from the right, Agbonlahor got in front of Chris Smalling watched by his new manager Sir Alex Ferguson to head inside the near post from close range.
It was Villa's first league goal in more than seven hours of football, and four minutes later they scored again. Once more it was Agbonlahor, taking advantage of another defensive lapse to score.
Villa right-back Cuéllar played a simple forward pass to Agbonlahor, who had Brede Hangeland between him and the goal.
But the Norwegian inexplicably tried to anticipate Agbonlahor's next move, guessed wrong by turning away from goal and allowed the striker to spin the opposite way and curl a shot into the far corner of goal.
With Fulham also short on goals and confidence, there never looked like being a way back and so it proved. The second-half followed a similar pattern, with precious prevision passing or controlled football.
Villa were content to soak up what pressure Fulham could muster which was not much and then attack on the break with the speed of Ashley Young and Agbonlahor always a threat.
Fulham did manage to get the ball in the Villa net after 76 minutes when substitute David Elm volleyed past Friedel, but referee Lee Mason ruled correctly that the striker was marginally offside.
Zoltan Gera tried his luck from long range to no great effect, Elm had another shot blocked by the excellent Richard Dunne, and his defensive partner James Collins was spared the embarrassment of an own goal by Friedel's sharp save in the closing stages.
But Villa rarely looked stretched and were comfortable winners in the end, while Fulham have now gone six league games without victory.