Published: 2017-08-03 18:26:02 BdST
Pujara's 50th Test turned out to be an eventful one as India's number three nearly perished in the slip early in his innings and ran out partner KL Rahul before making amends with his burgeoning 211-run stand with Rahane.
Pujara, who also completed 4,000 Test runs in the process, was batting on 128 at stumps, his 13th Test century containing 10 boundaries and a pulled six off debutant spinner Malinda Pushpakumara.
Rahane, who survived a couple of reviews, hit 12 boundaries in his fluent 103 not out, as India utterly dominated the opening day of the contest to reach 344 for three.
India got off to a brisk start after skipper Virat Kohli opted to bat on a dry surface with Rahul, who missed India's victory in Galle with high-fever, and Shikhar Dhawan scoring freely against a spin-heavy Sri Lankan attack.
Dhawan clobbered Rangana Herath for a six in the spinner's first over and also hit five boundaries in his brisk 35 before Dilruwan Perera trapped him leg-before.
Rahul was on 19 when the right-hander was given out leg-before to Dimuth Karunaratne but the batsman used review to successfully overturn the decision and went on to make his sixth successive Test half-century.
Pujara, who struck 153 in Galle, and Rahane ensured Sri Lanka did not get any momentum, however.
Renowned for their impeccable temperament, the right-handed duo deftly used the crease to punish the Sri Lankan bowlers who endured a wicketless final session.
Sri Lanka welcomed back skipper Dinesh Chandimal, who missed the Galle Test with pneumonia, and effected three changes overall in their bid to level the three-match series against the top ranked Indian team.