De Villiers raced to his century off 31 balls – five balls fewer than the previous record - on the way to an astonishing 149 off 44 balls.
With opening batsmen Hashim Amla and Rilee Rossouw also hitting centuries in a South African record first wicket stand, South Africa piled up a massive 439 for two.
The West Indies were never likely to chase down a world record target but managed a respectable 291 for seven to give South Africa a 148-run win and a 2-0 lead in the five-match series.
The target was never likely to be within the reach of the West Indies, especially after big-hitting Chris Gayle was caught at deep midwicket off Morne Morkel for 19 in the fifth over.
Dwayne Smith, caught off a Morkel no-ball in the first over when he had four, made 64 off 65 balls and Denesh Ramdin contributed 57 off 55 deliveries.
Amla (153 not out) and Rossouw (128) put on 247 for the first wicket - a record partnership for any wicket for South Africa. Rossouw was dismissed off the third ball of the 39th over.
De Villiers promoted himself to number three and struck the ball out of the middle of his bat from the first delivery he faced, which he thrashed for four past bowler Jerome Taylor.
He went to fifty off 16 balls, one fewer than Sanath Jayasuriya's previous record for the fastest half-century, for Sri Lanka against Pakistan in 1995/96, then powered his way past Corey Anderson's record for the fastest century.