Pakistan captain Babar Azam is the best one-day batsman in the world according to the International Cricket Council, ending India captain Virat Kohli's more than three-year stay at the top.
Kohli, who led the rankings for 1,258 days, has scored 12,169 runs in one-day internationals, at an average of 59.1.
Babar's 82-ball 94 in the final ODI against South Africa was enough to earn him an eight-point lead over Kohli.
The 26-year-old has scored 3,808 ODI runs and averages 56.8 in the format.
Babar, who now captains his country in all three formats, is the fourth Pakistan batsman to become number one in one-day internationals after Zaheer Abbas in 1983-84, Javed Miandad in 1988-89 and Mohammad Yousuf in 2003.
Pakistan left-handed opener Fakhar Zaman moved up five places to reach a career-best seventh position after his knock of 101, while left-arm fast bowler Shaheen Afridi is up to a career-best 11th place, after taking 3-58 in Pakistan's 28-run win.