Aston Villa finally ended a nine-match winless run as Christian Benteke's superb first-half strike snatched a 1-0 win over Crystal Palace.