AB de Villiers struck the fastest century in one-day international history as South Africa crushed the West Indies by 148 runs in the second ODI at the Wanderers overnight (NZT).
De Villiers reached three figures in just 31 balls on his way to 149 from 44 deliveries, which rocketed South Africa to a total of 439-2 - its highest score in one-day cricket.
How to score a ton in 31 balls:
The West Indies never threatened the target after Chris Gayle had fallen early, and eventually finished on 291-7.
De Villiers' feat overshadowed a career-best knock from Hashim Amla, who batted through the innings to finish unbeaten on 153, and shared in a record 247-run stand for the first wicket with Rilee Rossouw, who made 128.
South Africa's score beat its previous highest total of 438-9 against Australia in 2006, but fell four runs short of the overall record - Sri Lanka's 443-9 against the Netherlands.
It was the first time that three batsmen had scored a century in the same innings of an ODI, and ensured that the assault on the West Indies bowlers was relentless after the tourists had won the toss and elected to field first.
Although Amla and Rossouw got off to a steady but unspectacular start as they scored at five runs to the over in the first 20, they increased the tempo from that point and South Africa never looked back.
Rossouw reached his maiden ODI century in his 11th match, and his partnership with Amla bettered the 235 scored by Gary Kirsten and Herschelle Gibbs for the first wicket against India in 2000.
The real fireworks started after Rossouw was dismissed and De Villiers came to the wicket, as the South Africa captain put on 192 runs in 67 balls with Amla.
"I got really fired up in the changing room and sort of played my knock before I even came out to bat," De Villiers said in a television interview.
"Aggression was the main thing for me today -- I just wanted to go right from the start."
New Zealand's Corey Anderson held the previous record for the fastest century, having reached it in 36 balls against the West Indies in January 2014, but De Villiers had no problem in overhauling that.
"I was on 92 when I realised it was going to be close. I wasn't going to take the singles when I was in the 90s," he said.
De Villiers' innings also included the fastest fifty in ODIs, taking just 16 deliveries, and his final tally of 16 sixes equalled the record that Rohit Sharma had set during his 209 against Australia in Bangalore.
Gayle was the only batsman in the West Indian ranks who could match such a feat, but Morne Morkel (2 for 43) had him caught in the deep in just the fifth over.
Dwayne Smith scored 64 and Denesh Ramdin managed 57, but both innings were scored at little better than a run per ball as the South African attack showed that respectable figures could be achieved on the batsman-friendly surface, as Morkel and Dale Steyn took a combined 3-72 in 20 overs.
De Villiers' innings:
3 dot balls
1 leg bye
TOP TEN FASTEST ODI TONS:
1) AB de Villiers (South Africa) - 31 balls against West Indies in Johannesburg on Jan.18, 2015.
2) Corey Anderson (New Zealand) - 36 balls against West Indies in Queenstown on Jan.1, 2014.
3) Shahid Afridi (Pakistan) - 37 balls against Sri Lanka in Nairobi on Oct.4, 1996.
4) Mark Boucher (South Africa) - 44 balls against Zimbabwe in Potchefstroom on Sept.20, 2006.
5) Brian Lara (West Indies) - 45 balls against Bangladesh in Dhaka on Oct.9, 1999.
6) Shahid Afridi (Pakistan) - 45 balls against India in Kanpur on April.15, 2005.
7) Jesse Ryder (New Zealand) - 46 balls against West Indies in Queenstown on Jan.1, 2014.
8) Sanath Jayasuriya (Sri Lanka) - 48 balls against Pakistan in Singapore on Apr.2, 1996.
9) Kevin O'Brien (Ireland) - 50 balls against England in Bangalore on Mar.2, 2011.
10) Virat Kohli (India) - 52 balls against Australia in Jaipur on Oct. 16, 2013.