AB de Villiers returned from his sabbatical with a blistering 176 off 104 balls to take South Africa surging to 353-6 in the second one-day international against Bangladesh on Wednesday.
De Villiers hit his career-best score in 50-over cricket in his first international innings in four months, and was part of century stands with Hashim Amla (85) and JP Duminy (30).
De Villiers was the driving force of both those stands, making 86 of the 136 runs he put on with Amla and 90 of the 117 he put on with Duminy.
De Villiers' last international was at the Champions Trophy in England in June. He skipped the test series against England and Bangladesh to rest and spend time with his family.
The break appears to have been well-timed for the 33-year-old former South Africa captain. He collected 15 fours and seven sixes at Boland Park on his way to the fourth-highest score by a South African in ODIs. He was out caught in the deep only 12 runs short of Gary Kirsten's South African record of 188 not out.
De Villiers took only 68 balls to get to 100, and only 25 balls to go from 100 to 150.
Amla and Quinton de Kock (46) set South Africa up with a solid opening partnership of 90 but De Villiers' acceleration in the middle and late overs made sure the home team was favorite to take an unassailable 2-0 lead in the three-match series.
Rubel Hossain was Bangladesh's best bowler with 4-62, including the wicket of De Villiers and two in two balls in the last over.
The tourists face a challenge to avoid another loss, however, having gone down in both tests and the opening ODI.