Team India rode on undefeated centuries from Cheteshwar Pujara and Ajinkya Rahane to post 344 for 3 at stumps on the opening day of the second Test against Sri Lanka at the Sinhalese Sports Club here on Thursday.

Pujara was batting on 128 not out while Rahane was on 103 not out as the right-handed duo guided India to a strong position, adding 221 runs for the fourth wicket.

Earlier, KL Rahul celebrated his comeback with a half-century. The left-handed opener made 57 runs off 82 runs with seven hits to the fence before falling shortly after lunch.

Opting to bat first on winning the toss, the Indians were off to a superb start with openers Shikhar Dhawan and Rahul handling the Lankan bowlers quite comfortably. The duo put together an opening partnership of 56 runs in just 10 overs.

Dhawan made a quick 35 runs off 37 balls before being trapped leg before by Perera. Dhawan was a bit tentative though in the opening over and enjoyed a reprieve when Lankan pacer Nuwan Pradeep managed to find his outside edge.

The ball however, fell just wide of the slip cordon and went for the first boundary of the match. The Delhi left-hander edged another delivery, this time off Herath in the second over, the ball falling short off the slip cordon once again.

But he soon recovered his composure and made an excellent comeback by charging out of his crease to smash the fifth ball of the over into the stands. The Indian openers continued to bat comfortably with the run rate consistently hovering around the five per over mark.

Just like in the first Test, the Lankan bowling attack did not seem too formidable although the pitch had a slight bit of bounce.

Dhawan, who seemed set for a big score, fell off the first ball of the 11th over when he missed an attempted sweep and the ball straightened enough to hit him on the pads.

The umpire had initially ruled not out but the Lankans decided to call for the review and were rewarded when the third umpire overturned the decision.

Pujara and Rahul, however, ensured that the visitors lost no more wickets till lunch. They added 53 runs between off 20.3 overs.

Rahul, however, fell in the third over after lunch when he was run out following a horrible piece of miscommunication with Pujara.

India skipper Virat Kohli seemed to be in good touch but fell victim to some poor shot selection with Angelo Mathews pulling off an excellent catch in the slips.

(With inputs from agencies)