Opener De Villiers' aggressive 146 was the cornerstone of South Africa's total of 356 for four, their record World Cup score.
South Africa restricted West Indies to a reply of 289 for nine to win the second-stage Super Eights match by 67 runs.
Victory virtually ensures the West Indies' elimination barring a run of freak results and leaves South Africa much closer to reaching the last four despite Saturday's shock defeat by Bangladesh in Guyana.
De Villiers reached his century off 114 balls and then he launched an onslaught that earned him his last 46 runs off just 16 deliveries.
His innings was interrupted several times for treatment for what South African media liaison officer Gordon Templeton later told reporters was cramp, heat exhaustion and dehydration.
"When I reached a hundred I decided to go after it and play through the cramp," De Villiers told a news conference.
"I was actually trying to get out but it didn't work out that way --
"The ball just went in the gaps and I stayed there much longer than I thought I would."
PIVOTAL STAND
Jacques Kallis (81) and De Villiers shared a second-wicket stand of 170, a performance described as pivotal by South African captain Graeme Smith.
"It was always going to be difficult to bat up front because there was a lot of dampness in the pitch," Smith told a news conference.
"Jacques got the momentum started and AB finished it off with a superb knock."
Smith said his team had been determined to prove a point in the wake of the criticism following their performance against Bangladesh.
"Some of the stuff that went around back home about the team being divided and in pieces and fighting, it was all a load of crap," Smith said. "So it was nice for the guys to bounce back in the way they did."
The seven-week World Cup culminates in the April 28 final in Barbados.