Pujara (133) and Ajinkya Rahane (132) added 217 runs to guide India to 622-9 declared in the first innings. The visitors then dismissed Sri Lanka for 183 and enforced follow-on after taking a 400-plus run lead.
"Pujara and Ajinkya are our two best Test batsmen, especially in the middle order. They've been doing so well consistently. Pujara, I would give him more credit because he only plays one format for India. And to be able to have that hunger and passion day in day out, working hard on his game, coming out and having those consistent performances takes a lot of mental strength," Kohli said.
"And he's a guy with a lot of mental strength. He obviously has the game. He knows how to score runs, which is the most important thing. He has evolved massively as a cricketer since then.
"All of us have, but Pujara's game has gone to another level. If you see last season, continuing now, he's got about 1500 runs which is outstanding. All credit goes to how hard he's working on the game, and how he thinks about his game as well," he added.
The India skipper also heaped praise on Ravindra Jadeja who scored an unbeaten 70 off 85 balls in the first innings and then grabbed five wickets in Sri Lanka's second innings to help India beat the hosts by an innings and 53 runs.
"Jadeja can give you a very quick 60-70 anywhere at any stage of the game, it can really turn the game. Remember Lord's, remember Dharamsala against Australia, those are very important innings, the 90 against England in Mohali," Kohli said.
"He has the ability, he believes in it and he's worked extra hard in the last 10-12 months on his batting also. He's bowled so much that the other discipline was left behind, but now he's catching up in that as well. It's only going to do good to him.
"If he doesn't bowl well on a particular day, he can score runs. Once he scores runs, then he gets confidence with the ball also. He's always in the game, his fielding as well. I would say he's a very valuable cricketer for us," he added.