Jeffrey Schlupp put up an impressive display but it was not enough as the Eagles lost woefully Villa Park.
Villa overcame Tyrone Mings' first-half dismissal to comfortably see off disappointing Palace and move to within three points of second-placed Leicester City.
Smith's side was leading 1-0 when Mings was dismissed by referee Anthony Taylor for a foul on Wilfried Zaha - six minutes after both players had been booked for clashing.
But Mings' loss galvanized Villa, who went on to score two further goals to make it three wins in four games.
The Ghanaian lasted for 82 minutes before being replaced by Andros Townsend. His compatriot and the club's Player of the Season, Jordan Ayew was an unused substitute.
Schlupp has made 13 league appearances for Crystal Palace, scored one goal, and provided one assist so this season.