Dhananjaya de Silva's run-a-ball 91 rescued Sri Lanka from a top-order collapse as they recovered to make 241-9 in the second one-day international against England at the Oval on Thursday.
Sri Lanka were facing humiliation at 21-4, with left-arm paceman Sam Curran wreaking havoc afer England captain Eoin Morgan won the toss.
But De Silva, in at 6-2, responded with his highest ODI score and added 78 for the sixth wicket with Dasun Shanaka (47) to keep Sri Lanka in the day-night contest.
Curran ended with ODI-best figures of 5-48, with left-arm quick David Willey the only other England bowler to take wickets, in a return of 4-64.
Batting had been a problem for a Sri Lanka side missing vice-captain Kusal Mendis, opener Danushka Gunathilaka and wicketkeeper Niroshan Dickwella, who were all sent home for breaching Covid regulations.
Sri Lanka were dismissed for just 185 during a five-wicket loss in the first ODI at Chester-le-Street on Tuesday.
That lowly total looked well beyond them as they lost four wickets inside the opening seven overs.
Curran, in for the rested Chris Woakes, struck with just his second ball when Sri Lanka captain Kusal Perera was lbw for a duck after top-scoring for the tourists with 73 on Tuesday.
Two balls later, still in the second over of the match, Avishka Fernando was lbw to Curran as he shuffled across the crease.
Sri Lanka slumped to 12-3 when Pathum Nissanka was clean bowled between bat and pad by Curran on the drive.
The collapse continued when Charith Asalanka miscued a pull off Willey to short mid-wicket.
At 21-4, Sri Lanka risked being dismissed for less than their all-time lowest ODI total of 43 all out against South Africa in Paarl in 2012.
But De Silva, hitting some defiant and stylish boundaries off both the new-ball duo and England's change bowlers of Tom Curran -- Sam's brother -- and Mark Wood, ensured they avoided that embarrassment.
Wanindu Hasaranga hit two fours off Sam Curran but the bowler had his revenge when he suckered the batsman, on 26, into a miscued pull off a short ball that flew straight to Sam Billings at deep square leg.
That did not stop new batsman Shanaka, however, from driving Sam Curran high over long-off for six.
De Silva had just moved into the 90s with a four to third man when, next ball, he fell nine short of a maiden ODI hundred as he too perished to the short ball, top-edging a pull off Willey to Joe Root in the deep.
Sri Lanka were now 164-6 as a disappointed De Silva walked off to generous applause from a Covid-reduced crowd of around 14,000.
Chamika Karunaratne scored 21 as the lower order chipped in and in the last over Dushmantha Chameera launched Willey over long-on for six.