Dimitar Berbatov went over in the area on eight minutes, but the referee waved away the claims for a penalty.
Soon after, the Bulgarian forward came close with a header, but Brad Guzan kept his effort out with a fine one-handed save.
Benteke had another chance on 16 minutes, but the Belgian's low drive was kept out well by the goalkeeper.
Fulham then took the lead on 22 minutes when Steve Sidwell clipped the ball past Guzan from a tight angle to make it 1-0.
© Getty Images
Berbatov stepped up and calmly stroked the ball into the back of the net to make it 2-0.
Guzan kept out Berbatov on 36 minutes, getting down low to save the striker's effort.
Bacuna fired a free kick just over the bar on 44 minutes as Villa looked to reduce the deficit before half time.