The 32-year-old, who made his ODI debut in 2010 against Australia, notched up his 13th century off 99 balls to become the ninth batsman overall to etch his name in record books.
The left-handed batsman slammed two sixes and 10 fours during the course of his first century in South Africa.
Former captain Sourav Ganguly came close to scoring a century in his 100th ODI before falling for 97 in the 1999 World Cup game against the same opponents.
Dhawan had scored 35, 51 not out and 76 in the first three ODIs of the series, in which the visitors have already taken an unassailable 3-0 lead.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)