Pallekele - India fast bowler Jasprit Bumrah claimed his maiden five-wicket haul to help restrict Sri Lanka for 217-9 despite Lahiru Thirimanne's half-century in the third one-day international on Sunday.
Bumrah struck early to get Niroshan Dickwella and Kusal Mendis trudging back to the pavilion as the hosts were reduced to 28-2 after electing to bat in Pallekele.
Thirimanne, who made the XI in place of suspended captain Upul Tharanga, hit a 105-ball 80 to give Sri Lanka's total some respect as they lost regular wickets.
His 72-run third wicket partnership with Test captain Dinesh Chandimal, who also returned to the ODI team and opened the batting, remained the highlight of the hosts' innings.
But Chandimal, who made a sedate 36 before falling to paceman Hardik Pandya, got a hairline fracture on his thumb from a Pandya bouncer and will take no further part in the game.
Thirimanne recorded his 17th ODI fifty in his first limited-overs game in over a year before giving a simple catch to Kedar Jadhav at mid-wicket off Bumrah.
Left-arm spinner Axar Patel got stand-in-skipper Chamara Kapugedera bowled for 14.
The 23-year-old Bumrah, who took four wickets in the previous game, returned for his final spell to register career-best figures of 5-27 in his 19th ODI.
The hosts, who trail the five-match series 2-0, need to win this ODI to keep the rubber alive.