Carew netted after replacing the injured Emile Heskey midway through the first period.
There was a lack of intensity but the game came to life with Stoke goalkeeper Thomas Sorensen making a fine double save.
First he beat out a powerful 20-yarder from Stilian Petrov and blocked the follow-up from Gabriel Agbonlahor.
Mamady Sidibe headed home a cross from Matthew Etherington after 32 minutes but the Stoke striker was adjudged to have fouled Stephen Warnock.
On 61 minutes Carew put Villa ahead when Ashley Young crossed from the right and Carew got in front of Abdoulaye Faye to head past Sorensen.
Luke Young then produced a superb tackle on the edge of the six-yard box to deny Stoke’s Tuncay an equaliser.