Födelsedagsbarnet Ismaïla Sarr, 27, gav Crystal Palace ledningen när han höll sig påpassligt framme på en målvaktsretur från Emiliano Martinez och rakade in 1-0 i den 29:e minuten.
Aston Villa hade kort därefter en boll i nät genom Morgan Rogers, men målet dömdes bort för en VAR-offside på passningsläggaren Ollie Watkins.
I andra halvlek var det dock inget som kunde hindra Rogers mål från att godkännas. Robin Olsen, som byttes in i paus, slog en utspark som Watkins skarvade vidare till Rogers - som vände runt och skickade bollen i nät.
Palaces skyttekung Jean-Philippe Mateta svarade lite senare när han såg till att hemmalaget återtog ledningen med ett kraftfullt avslut.
Sedan var det dags för Sarr att hitta nätmaskorna igen när han satte 3-1 på ett inlägg från Daniel Munoz. På stopptid fastställde Eddie Nketiah slutresultatet till 4-1.
***
João Pedro ordnade straffen själv och förvaltade den på bästa sätt när han gjorde 1-0 för Brighton hemma mot Bournemouth i den tolfte minuten.
Justin Kluivert svarade på bästa sätt när han fick på en riktig drömträff från distans och satte 1-1 efter dryga timmen.
Men det var Brighton som skulle gå segrande ur matchen. Danny Welbeck kom in från bänken och frälste "The Seagulls" när han gjorde det avgörande 2-1-målet efter bara några minuter på planen.
***
Klockan hade knappt hunnit ticka upp på en minut innan Ryan Sessegnon kom fri och skickade upp Fulham i ledning borta mot Wolverhampton. João Gomes kvitterade för hemmalaget när han dunkade upp bollen i nättaket.
Rodrigo Muniz återställde sedan Fulhams ledning i början av andra halvlek. Det gick nästan lika snabbt efter paus - nu kom målet 63 sekunder in i halvleken i stället för 58.
Fulham höll sedan undan och vann, vilket skickar laget upp på en niondeplats. Wolves ligger fortsatt på 17:e plats.