He achieved the feat even as he scored his 32nd century in the third and final One-Day International (ODI) against New Zealand here at the Green Park stadium on Sunday, to clinch the 1-1 levelled series.
Courtesy his innings of 113 in the match, the Team India captain broke de Villiers' record (205 innings) of the fastest cricketer to have reached the milestone.
Kohli also became the first batsman to amass 2000 runs in international cricket in 2017. Ahead of the Kanpur ODI, Kohli was on 1991 runs from 39 matches at 58.55.
The 28-year-old achieved the 8000-run mark in ODIs in just 175 innings, again breaking AB de Villiers' record, who took 182 innings.
Kohli, in 2013, became the fastest player to 5000 ODI runs, equalling West Indies' Viv Richards record, reaching the mark in 114 innings.
Meanwhile, India has crossed the 300-run mark with Rohit Sharma having been snared by Santner for 147.
Earlier in the day, New Zealand captain Kane Williamson won the toss and decided to have a bowl first.
"We are going to have a bowl. I don't think it will seam as much but still there should be some help and then dew later on in the game. Whatever we do here, the wickets tend to be generally good surfaces and the team that plays the better cricket wins. It is a great opportunity for us and we want to enjoy it out there," Williamson said.
Kohli said, "It looks a good wicket. We would have been okay with batting or bowling first but keeping the dew in mind, maybe batting second was better. Irrespective of what we do first, we need to do it well."
The hosts equalled the series with a six-wicket win at Pune, with the help of half-centuries coming from Shikhar Dhawan and Dinesh Karthik.