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.
|Relegated Verona appoint World Cup winner Grosso|
|Trotz named Islanders´ new coach|
|Matic and Serbia ready for ´hellish´ Switzerland clash|
|Fleetwood flounders as Gros takes Pulheim lead|
|No attacks on Neymar, pledges Costa Rica boss Ramirez|
|Giroud return brings structure to France, but again they disappoint|
|Brighton sign Sunderland goalkeeper Steele|
|Schmeichel and Eriksen blast ´exceptionally harsh´ VAR penalty|
|Nigeria´s young World Cup squad learning on the job - Rohr|
|Moody: England players need protection|
|France 1 Peru 0: Mbappe books last-16 spot with record goal|
|I don´t need anyone to hold my hand - Verstappen|
|Captaincy comes back around to Silva as 2014 pain fades|
|We don´t want to be losers - Petkovic|
|Alba not interested in Barcelona exit as Tottenham rumours swirl|
|BREAKING NEWS: Nagelsmann to take RB Leipzig role in 2019|
|Messi cannot be compared to Maradona, claims Argentina World Cup winner Kempes|
|Mbappe sets France record with maiden World Cup strike|
|Federer comes through tough Halle test|
|Nagelsmann to leave Hoffenheim amid RB Leipzig rumours|
|Gerrard brings former Liverpool team-mate Flanagan to Rangers|
|Cipriani to be ´the calmest guy in the room´ on England return|
|C´est magnifique! Lloris earns 100th France cap|
|Belgium v Tunisia: Hazard hoping for World Cup lift off|
|WATCH: Manchester United ditch piano to welcome Fred the red|
|Hamann springs to defence of Ozil|
|Alonso non-committal on future after Le Mans triumph|
|McInally returns to Scotland starting line-up|
|Giroud & Matuidi start as Deschamps drops Dembele for Peru|
|Torreira focused on Uruguay amid Arsenal links|
|NBA Mock Draft 2018: Deandre Ayton leads intriguing first round|
|Tite will not take away Neymar´s ´genius´|
|Australia show promise but calls for Cahill ignored amid lack of cutting edge|
|Manchester United means greatness - Fred aiming for titles following Old Trafford switch|
|Denmark 1 Australia 1: Jedinak strikes back after Eriksen rocket|
|Neymar not being put at risk by Brazil, says Tite|
|Juventus complete signing of free agent Emre Can|
|Fred completes Manchester United switch|
|Dembele will not join a Spurs rival|
|What were the 0.4 per cent doing? Iceland captain marvels at TV audience|
|Forsberg ready for ´next big step´ after RB Leipzig|
|´Retired´ Brits on bench as Springboks ring changes for final Test|
|Meninga: Key Kangaroos positions up for grabs in Origin|
|FIFA gets shirty over Ronaldo claims|
|Soyuncu keen on Arsenal switch|
|Atmosphere much better after criticism, says Hummels|
|FIFA issues statement after ´questionable´ Amrabat decision|
|Cipriani and Robshaw to start for England at Newlands|
|Team Sky hit back at Hinault´s ´irresponsible´ Froome comments|
|Iran fans are the real winners as women get glimpse of the future|
|Beckham predicts England-Argentina World Cup final|
|Napoli should sign Meret, Zenga claims|
|Meticulous Mouratoglou shaping stars of the future|
|Journalist hands Khedira boarding pass for early flight home|
|Germany v Sweden: Muller upbeat ahead of huge World Cup clash|
|South Korea v Mexico: Germany´s conquerors set for role reversal|
|Chandimal appeals against one-match ban|
|Fofana and Lamerat start, Parra skipper for final All Blacks Test|
|Asia and Africa being left behind - Queiroz|
|Emre Can arrives for Juventus medical|
|Championship fixtures: Bielsa´s Leeds face Stoke while Lampard´s Derby go to Reading|
|Tui handed first Wallabies start, five changes for Ireland|
|Sorensen: Denmark need to ´muscle up´ against Australia|
|Nolan Arenado helps Rockies power past Mets|
|Pavon set to be unleashed as Sampaoli plots Messi masterplan|
|Pique welcomes discussion with Barca hierarchy|
|Ramos hits back at Maradona|
|Spieth praises U.S. Open champion Koepka|
|Loftus-Cheek will consider Chelsea future|
|Jorginho deal not done yet - City|