India opener Shikhar Dhawan smashed another hundred and KL Rahul made a record-equalling half-century before Sri Lanka hit back on day one of the third Test in Pallekele.
Dhawan put Sri Lanka's attack to the sword with a magnificent 190 in the first Test and he hit a brisk 119 as the India openers cashed in after Virat Kohli won the toss on Saturday.
Rahul (85) gave another exhibition of his class at the top of the order, becoming only the sixth man to score 50 or more in seven consecutive Test innings courtesy of a first-wicket stand of 188.
Malinda Pushpakumara (3-40), in only his second Test, sparked Sri Lanka's revival after lunch and Lakshan Sandakan (2-84) struck twice, leaving India 329-6 at stumps as they target a 3-0 series whitewash.
Wriddhiman Saha (13 not out) and Hardik Pandya (1 no) will resume in Kandy on Sunday.
The aggressive Dhawan latched on to short stuff from the recalled Lahiru Kumara with some exquisite cuts, while Rahul pulled expertly and drove with elegance as India got off to an ominous start.
Kumara was removed from the attack after only three overs and failed to redeem himself for a poor opening spell when he dropped Rahul on 28 running back from mid-on off the bowling of Dimuth Karunaratne.
That proved to be costly as Dhawan and Rahul continued to score all too easily, the left-hander setting about spinner Dilruwan Perera.
The prolific Rahul, who timed the ball superbly, etched his name in the record books with yet another half-century and Dhawan raced on to 64 as India reached lunch on 134 without loss.
Angelo Mathews had no time to react when Rahul edged a cut past him at slip off Sandakan, but he missed out on a century after dancing down the track to strike Pushpakumara to Karunaratne at mid-on.
Cheteshwar Pujara was rattled on the helmet by a short ball from Kumara before Dhawan brought up his sixth Test hundred by using his feet superbly to drive Pushpakumara wide of mid-off for four.
Dhawan's stylish 123-ball knock, which included 17 boundaries, ended when he swept Pushpakumara to a diving Dinesh Chandimal and Pujara (8) fell before tea, caught cutting Sandakan to Mathews in the slips, as the hosts' persistence finally paid off.
Pushpakumara bowled Ajinkya Rahane (17) and Sandakan claimed the scalp of Kohli, who was taken by Karunaratne at slip eight short of a half-century, in a strong Sri Lanka fightback.
Vishwa Fernando, playing his second Test a year after his debut, also snared Ravichandran Ashwin (31) caught behind at full stretch by Niroshan Dickwella to give Sri Lanka another late lift.
|Luis Garcia and Steve McManaman confident of Liverpool progress|
|Arsenal face BATE as Chelsea get Malmo in Europa League|
|Europa League last 32: Draw in full|
|Irwin urges Mourinho turnaround before PSG Champions League clash|
|Rush backs German Klopp to see off Bayern|
|Hope shines as West Indies blitz Bangladesh in Sylhet|
|United and PSG set for Champions League showdown|
|Ajax star De Ligt delighted to join Golden Boy alumni|
|Champions League last 16: Draw in full|
|Lyon strikes to put Australia on course for victory in Perth|
|Mourinho´s players below Manchester United standards, says Giggs|
|We´ve got to find a way to get better in a hurry - McVay challenges spluttering Rams|
|Van Dijk hails ´game-changer´ Shaqiri for downing Man United|
|LeBron praises magical Wall as Lakers fall flat on the road|
|Champions League last 16: Who could get who in Monday´s draw?|
|Pochettino urges fans to ´kill´ racism ahead of EFL Cup derby|
|Ajax star De Ligt wins Golden Boy award|
|Foles fuels Eagles´ upset win over Rams|
|Latham carries bat as New Zealand leave Sri Lanka reeling|
|Keep your cool, Virat – Paine and Kohli in another confrontation|
|Depleted Nuggets complete season sweep of Raptors|
|Fabinho was ´outstanding´, says Klopp|
|Patriots QB Brady on loss to Steelers: We aren´t playing well enough to win|
|Elliott says Cowboys´ shut-out loss to Colts was embarrassing|
|De Bruyne not worried about Liverpool title challenge|
|Sixers star Simmons makes history with triple-double|
|WATCH: Nowitzki receives standing ovation in first home game of season|
|Seattle´s playoff spot on hold after Seahawks suffer OT loss to 49ers|
|Cheika survives as Wallabies coach, Johnson appointed|
|Vikings remain in NFC playoff picture|
|Steelers stay ahead as Patriots lose AFC´s second seed|
|Lionel Messi is the best, says Amor|
|I´m still tired just looking at Robertson – Mourinho in awe of Liverpool intensity|
|Casillas takes swipe at Mourinho after United lose to Liverpool|
|Valverde relieved as Messi brilliance prevents another Levante nightmare|
|WATCH: Leno proposes to girlfriend after Bears clinch division title|
|Messi and Suarez the world´s best strike partnership, says Pique|
|Klopp: I cannot keep every Liverpool player happy|
|Messi and Suarez outscoring Real Madrid and Atletico in LaLiga|
|Levante 0 Barcelona 5: Marvellous Messi banishes ghosts of last season|
|Colts rout Cowboys to keep playoff hopes alive|
|Bears shake off Packers to win NFC North and return to playoffs|
|Mourinho explains Pogba omission and defends Lukaku´s Liverpool showing|
|Liverpool´s display against Manchester United one of the best, claims Klopp|
|Look away Jose! Damning stats expose Manchester United´s limp Liverpool loss|
|Time´s up, Mourinho: Manchester United can dither no longer|
|Manchester United´s players are not dishonest – Mourinho|
|Manchester United´s lack of ambition under Mourinho is scary – Keane|
|Mourinho: All Manchester United can achieve is fourth|
|Quagliarella should be protected by UNESCO, jokes Sampdoria coach|
|Manchester United surpass last season´s goals-against tally in first 17 games|
|Hasenhuttl revels in ´unbelievable´ victory over Arsenal|
|Liverpool 3 Manchester United 1: Shaqiri´s late show bails out Alisson as Reds return to the top|
|Edinburgh in control in Champions Cup, Racing win again|
|Emery ponders January signing after Bellerin injury|
|It is only a knock – Sarri plays down Hazard injury fears|
|Redskins QB Alex Smith released from hospital|
|Starc: If I listen to Warne, I may as well retire|
|Curry interviews retired NASA astronaut, apologises for moon comments|
|Hazard refusing to give up on Premier League title hopes|
|Ziyech & Blind score hat-tricks as Ajax claim 8-0 win|
|Canelo v Fielding: What next for three-weight champion Alvarez?|
|Southampton 3 Arsenal 2: Austin and Ings end Gunners´ long unbeaten run|
|Brighton and Hove Albion 1 Chelsea 2: Sensational Hazard proves the difference|
|Pogba on the bench as Clyne starts for Liverpool|
|Lipsky ends long barren spell in Malelane|
|Lakers´ Stephenson to repeat air guitar despite technical|
|Fletcher pushed Miller on to Broncos sack record|
|The Sarri effect: Hazard surpasses 2017-18 goal involvements in just 16 games|
|Van der Burgh retires on a high note with breaststroke double|