The South Africa lineup appeared scratchy at times after being sent in to bat, but piled on late runs to post a total of 341 for six.
De Villiers once again subdued an opposition with his big hitting. His 99 came off 82 balls and included four sixes and six fours. Going for a drive to reach triple figures, he instead found an edge and was caught at third man in the 43rd over.
Morne Morkel intimidated the UAE batsmen, twice hitting Khurram Khan with short deliveries and then getting him out caught behind. Morkel went for just 2.3 runs an over and picked up two wickets.
Never far from the action, de Villiers also picked up two wickets for 15 runs off his three overs.
The UAE was dismissed for 195 in the 48th over in response, with Swapnil Patil scoring an undefeated 57.