It was his seventh Test hundred as the Indian captain.
India were 210/2 at tea, after winning the toss and choosing to bat on the first day of the second Test here. Kohli (91 not out) and Pujara (97 not out) were unbeaten then.
They completed their centuries after tea. Pujara was dismissed for 119. Kohli is still batting.
Kohli, who made his Test debut against the West Indies in 2011, has won four consecutive series as skipper against Sri Lanka, South Africa, the West Indies and New Zealand.
In his captaincy, he helped the team to claim the number one spot in the International Cricket Council Test rankings.
The Delhi batsman has played several memorable innings for India. In 2016, he scored 649 runs in eight Tests at an average of 59. His highest score in Tests (211 against New Zealand) was also registered earlier this year in Indore.
He has scored over 3500 Test runs so far.
During the ongoing Test series, Kohli played an anchorman role to force a draw in the first Test against England at Rajkot.
Chasing a 310-run target in the fourth innings on the final day of the match, India lost six wickets for 132 runs and were in a spot of bother at one point.
But Kohli held one end up with an unbeaten knock of 49 runs to neutralise England who smelt victory after an intense battle over five days.