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.
23. Juli 2018
|Probably Italy´s greatest sporting achievement - Player hails Molinari|
|BREAKING NEWS: Olympic swimmer Lochte gets 14-month ban for anti-doping violation|
|Roma agree fee with Bordeaux for Malcom|
|Stay strong Karius - Salah posts message of support to Liverpool keeper|
|No Hulk out, just a knockout - Whyte must control anger to beat Parker|
|No Messi, but Mbappe names himself among Ballon d´Or favourites|
|Yates brothers sign Mitchelton-Scott renewals|
|Browns´ Josh Gordon to miss start of training camp for ´health and treatment´|
|Sarri expects Hazard, Courtois and Willian to stay|
|South Africa must adapt to succeed in Asia, insists Du Plessis|
|Karunaratne aiming high after Proteas pummelling|
|Perth Glory 0 Chelsea 1: Pedro earns win in Sarri´s first game|
|Mbappe encouraged Kante to join PSG|
|Ozil all smiles upon return to Arsenal training|
|DFB denies Ozil ´racism´ claim|
|Lamar Jackson ´way ahead of the curve´ - Ravens offensive coordinator|
|Froome ready to support Team Sky colleague Thomas|
|Benfica face Fenerbahce test in Champions League third qualifying round|
|Former DFB president ´deeply saddened´ by Ozil situation|
|Thomas ready for ´war´ as yellow jersey battle hots up|
|Big-money moves part of Ajax´s ´philosophy change´ - Van der Sar|
|Runners and Ryders: All roads point to Paris for Molinari, Simpson moves into automatic spot|
|Pedro sees similarities between Sarri and Guardiola|
|Southampton will have to sell before buying again, admits Hughes|
|Parma deducted five points, Calaio given two-year ban|
|Bellerin backs Arsenal team-mate Ozil|
|Liverpool lose Matip to injury in friendly defeat|
|Herath finishes off Proteas after maiden De Bruyn century|
|Hoeness hits out at Ozil after Germany retirement|
|Manziel traded to Montreal Alouettes|
|Pirates top Reds to extend winning streak to nine|
|Minnesota United 5 Los Angeles FC 1: Five-star hosts shock LAFC|
|Prospect of Anthony joining Rockets excites Harden|
|Mets place Syndergaard on DL with hand, foot and mouth disease|
|Cubs, Baez give young fan signed baseball after adult steals foul ball|
|To those who enjoy seeing others fail, I feel for you – Karius responds to criticism|
|Barbasol Championship final round to resume on Monday due to thunderstorms|
|You can´t do whatever you want in life – Mourinho responds to Martial exit talk|
|Harvick bumps Busch out of way for victory|
|Klopp hails Dortmund star Pulisic after Liverpool loss|
|Fellow pro reveals Open winner Molinari´s retirement plans|
|Manchester United 0 San Jose Earthquakes 0: Sanchez returns in uninspiring draw|
|Laporte jealous of France World Cup winners|
|Tamim fires Bangladesh to ODI success|
|Liverpool 1 Borussia Dortmund 3: Pulisic inspires comeback to deny Klopp win against old club|
22. Juli 2018
|My game is back - Spieth finds Open positives despite tough final round|
|Barcelona pay tribute to retiring Marquez|
|Blow for Thomas and Froome as Moscon is excluded|
|Woods earns WGC-Bridgestone Invitational place with rankings boost|
|Clay specialist Cecchinato lifts Croatia title on return to red dirt|
|Molinari´s safety-first masterclass yields deserved Open triumph|
|Alisson to link up with Liverpool at Evian training camp|
|Woods´ return no fluke, insists Spieth|
|Johnson shrugs off shoulder injury to win second 2018 title|
|The Open 2018 diary: Kane an able golfer, hats off to Hossler|
|Tiger and Serena will talk through Open disappointment|
|Molinari: It wasn´t about being ruthless to beat Woods|
|Tiger ´ticked off´ at missed Open opportunity|
|The Open 2018: Molinari triumphs - how a dramatic final round unfolded|
|McIlroy: Great to be back in the mix|
|Open victory will take a long time to sink in, says Molinari|
|Stoke sign McClean from West Brom for £5m|
|Masterful Molinari clinches sublime Open win after Spieth, Woods fall away|
|Germany´s Ozil retires from international football|
|Vikings OL coach Tony Sparano dies|
|BREAKING NEWS: Magical Molinari wins The Open|
|Dalic claims to be world´s second best coach|
|Twelve-try Wakefield batter Hull to send Rhinos into Qualifiers|
|Sevastova cruises to Bucharest title|
|Cort Nielsen sprints to first Tour stage win, Thomas maintains lead|