Felix Magath also picked up his first away win as Cottagers manager to the delight of the 3,000 travelling supporters.
Kieran Richardson struck a thunderbolt to hand the Cottagers the lead and then Hugo Rodallega headed home his first league goal for 15 months four minutes from time.
Grant Holt had levelled with his first Villa goal, but it the Cottagers who picked up three vital points.
Although Fulham remain five points from safety, the result will give them renewed hope that a great escape is possible.
Christian Benteke’s Achilles tear in training this week was a huge blow for Villa and, with Gabriel Agbonlahor failing to recover from a sickness bug, left manager Paul Lambert short of options up front.
He handed Holt only a second start for the club, with the former Norwich striker supported by Andreas Weimann and Marc Albrighton.
Magath gave a second debut to Mahamadou Diarra following his return to the club, while he also recalled 19-year-old forward Cauley Woodrow.
Magath was forced to play down speculation this week that his job was in danger after only one win in his first six games.
Woodrow was seeing plenty of the ball early on and he had a great chance to set up a decisive opening for Fulham when Nathan Baker gave the ball away.
But the teenager took too long to make up his mind and Kasami was offside when he finally picked his pass.
Villa pressed and probed without really threatening, but they came close in the 27th minute when Albrighton’s cross was headed just off target by Weimann.
Leandro Bacuna then forced the first save of the match from David Stockdale when he cut in from the right.
Villa were their own worst enemy, though, and Brad Guzan had to produce a smart stop from Woodrow after Joe Bennett underplayed a pass to Baker.
The hosts were fortunate that the Fulham player’s touch took him wide, narrowing the angle in Guzan’s favour.
Woodrow was certainly heavily involved in the game and Guzan had to be alert again when his shot was deflected, while Lewis Holtby and Steve Sidwell also tried their luck as the visitors ended the half strongly.
Magath was clearly not happy with what he had seen, though, and he made a double substitution for the second half, with Rodallega replacing Woodrow and Ashkan Dejagah coming on for Kasami.
Rodallega almost made an immediate impact, with his low cross just evading Sidwell as he slid in 12 yards out.
Moments later Villa were inches away from taking the lead as Holt chested the ball into the path of Bacuna, who slammed a shot against the near post via the fingers of Stockdale.
But it was the visitors who made the breakthrough, and in style, as the lively Dejagah cut in from the right and teed up Richardson for a thunderous strike.
However, Fulham’s lead lasted only nine minutes, with Holt’s header from Albrighton’s corner finding its way through a crowd of players and into the bottom corner.
Albrighton then tested Stockdale with a curling shot, and from the keeper’s parry Fulham broke away.
A clever dummy from Dejagah looked to have set up Holtby for a certain goal as he took the ball around Guzan but, from four yards out, his shot was somehow cleared off the line by Matthew Lowton.
It was an astonishing piece of defending and, not surprisingly, left Holtby with head in hands.
The game was remarkably open, and twice Villa came close to taking the lead, as first substitute Aleksandar Tonev saw his shot tipped over the bar by Stockdale before Weimann headed just over.
But the final twist came at the other end with less than five minutes of normal time remaining as Holtby’s cross was flicked into the bottom corner by Rodallega for the winner.