Strikes from Nolberto Solano and Lee Hendrie preserved Aston Villa's unbeaten home record and continued Fulham's winless away streak.
Solano lit up a dour game played in atrocious conditions by curling an exquisite free-kick over the wall.
Hendrie followed suit, curling a delightful left-foot shot around Edwin Van der Sar to seal Villa's victory.
Fulham were denied a penalty when the referee failed to spot Hendrie's arm block Claus Jensen's free-kick.
Fulham rode out some early pressure as Villa forced two corners, but Steed Malbranque led a break-out with a run from his own half before slipping a pass to Luis Boa Morte, whose shot was smothered by Olof Mellberg.
The Cottagers then backed off as Darius Vassell thrust forward, but he opted to shoot with Peter Whittingham screaming for the ball in space.
There was an unfortunate end product to the move for Fulham, as Vassell accidentally caught Ian Pearce on his follow-through and the big defender limped off to be replaced by Zesh Rehman.
Lee Hendrie (left) keeps a tight rein on Steed Malbranque
Villa continued to stretch Fulham's back line, with Whittingham sliding a pass through to Vassell only for the England striker to screw his shot across the face of goal.
Sodden conditions did not help the flow of the game and as Boa Morte outstripped Mark Delaney to latch on to Andy Cole's flick he lost his footing, much to the Villa defender's relief.
On 29 minutes, a rash foul by Pape Bouba Diop on Hendrie 20 yards out was ruthlessly punished by Solano, with the Peruvian curling his shot up and over the wall. Van der Sar got his hand to the ball but could not keep it out.
With Cole hunting alone up front, Fulham offered little threat and even when a slip by Ulises De la Cruz let Boa Morte in, Delaney was across quickly to slam the door shut.
It took Fulham 44 minutes to muster their first sight of goal, but after the ball broke to Malbranque the Frenchman fired wide from 18 yards.
In first-half injury time, Solano spurned a chance to double Villa's lead when he failed to hit the target with his header from Whittingham's pin-point cross.
Villa had the first sight of goal after the restart, with Angel nodding the ball down for Vassell six yards out but he failed to react, and when the ball broke for Solano he drove his shot straight at Van der Sar.
Villa had a let-off on 55 minutes when Hendrie clearly blocked Jensen's free-kick with an up-raised arm, but referee Phil Dowd pointed for a corner.
Solano's free-kick set Villa on the road
Bouba Diop's clumsy challenge saw Vassell stretchered off - to be replaced by Carlton Cole - but Villa had some defending to do, with Jensen firing a free-kick across a greasy goalmouth in the hope of getting a goal-bound deflection.
Villa needed the insurance of a second goal and got it with a delightful strike from Hendrie.
Malbranque lost possession deep in his own half, Cole slipped a pass to Hendrie and the midfielder fashioned a yard of space to curl a left-foot shot round Van der Sar.
Any hopes Fulham had of getting back into the game disappeared when Boa Morte somehow failed to make contact five yards out after Andy Cole nodded a cross into his path.
Aston Villa: Sorensen, De la Cruz, Mellberg, Delaney, Samuel,
Solano, McCann, Hendrie (Hitzlsperger 87),
Whittingham (Davis 78), Angel, Vassell (Cole 62).
Subs Not Used: Postma, Ridgewell.
Goals: Solano 29, Hendrie 75.
Fulham: Van der Sar, Volz, Knight, Pearce (Rehman 10),
Bocanegra, Boa Morte, Diop, Jensen (John 69), Pembridge,
Malbranque, Cole (McBride 88).
Subs Not Used: Crossley, Radzinski.
Ref: P Dowd (Staffordshire).