The hosts needed just nine minutes to break the deadlock as top scorer Wilfried Bony made an early impact by collecting a clever pass from Shelvey, before holding his nerve to slot the ball past Brad Guzan.
© Getty Images
Villa's response to falling behind was good, and they were rewarded with an equaliser in the 22nd minute when Marc Albrighton broke free on the right wing before delivering an inch-perfect cross to allow Gabriel Agbonlahor to tap in from close range.
However, the visitors were only level for four minutes as Shelvey restored his side's lead in spectacular fashion by lobbing a helpless Guzan with an unstoppable half-volley from 40 yards out.
Shelvey's strike gave the home side control heading into the break, and Garry Monk's team came close to extending their lead before the interval when Bony's powerful effort was pushed to safety by Guzan.