Villa fans had booed manager Alex McLeish and chanted 'you don't know what you're doing' when he replaced Charles N'Zogbia with Weimann after 73 minutes.
But McLeish had the last laugh as Weimann headed home from close range after a shot from another substitute, Gary Gardner, had been parried by Mark Schwarzer.
It was Villa's first home win in eight matches since November 5 and was well deserved.
Villa had looked the more threatening against a Fulham side brimming with confidence after three successive wins.
Skipper Stiliyan Petrov drove on the home side from midfield and Stephen Ireland showed flashes of creativity.
But Villa clearly missed the cutting edge of injured striker Darren Bent until Weimann's late intervention.
Fulham seldom posed a threat, in contrast to their five-goal demolition of Wolves last weekend and despite the efforts of Damien Duff.
Schwarzer was forced into the first save of the game and got his body behind a swerving 25-yard drive from Petrov.
A good run by Marc Albrighton then teed up N'Zogbia on the edge of the box but he failed to make proper contact with his left-footed volley.
Villa looked the more purposeful in the early stages with full-backs Alan Hutton and Stephen Warnock encouraged to go forward.
But Petrov was angry with himself when he sliced his shot wide after finding himself in plenty of space.
It was one-way traffic towards the Fulham goal and a mistake by Philippe Senderos allowed a run at goal for Gabriel Agbonlahor, whose shot was beat away by Schwarzer.
Then a quickly taken short free-kick by Ireland to Petrov almost caught Fulham napping and the Bulgaria international's low drive flashed past the post.
The visitors had their first attempt on goal after half an hour but Andrew Johnson's shot from a narrow angle did not trouble Shay Given.
Albrighton had a deflected shot which wrong-footed Schwarzer but drifted wide of the post.
Martin Jol made a half-time change with Fulham skipper Murphy, who had taken a knock to the head, replaced by Mahamadou Diarra.
Petrov was leading by example for Villa and flung himself in front of a fierce drive from John Arne Riise.
Villa were soon back on the offensive and Senderos had to come across and whip the ball away from Agbonlahor after he had dispossessed Riise.
Duff started to pose more of a threat for Fulham and one low cross flew right across the six-yard box but no-one was able to apply the finishing touch.
The woodwork came to Fulham's rescue when Albrighton's rising drive hit the bar after he was found in space by Alan Hutton.
Petrov became the first player to be yellow-carded after 66 minutes for a touchline challenge on Dembele.
It was Fulham's turn to hit the woodwork after 71 minutes when Duff played clear in the box by Riise and his powerful shot struck the outside of a post.
Riise was only inches off target with a dipping volley while at the other end Carlos Cuellar was off balance when he stabbed the ball wide.
But in injury-time Weimann, who had a spell on loan at Watford earlier this season, reacted quickest after Schwarzer could not hold a drive from Gardner - just on for Petrov.