© Getty Images
Paul Lambert's side took the lead just a couple of minutes into the second half when Weimann squeezed the ball into the back of the net, despite Begovic getting a hand to the shot.
Substitute Peter Crouch looked lively up front for Stoke as the Potters sought a quick equaliser, but the striker's teammates could not get the ball to him.
Charlie Adam came on inside the final 10 minutes and immediately tried to link up with Crouch, but Villa were organised at the back and managed to clear the threat.
Ron Vlaar made a crucial block late on to help the visitors protect their lead, ensuring that they held one to secure all three points at the Britannia Stadium.