England captain Alastair Cook's quickfire knock helped ensure Sri Lanka's first match in England ended in defeat.
Cook struck 71 on Tuesday as his county Essex made 5-161 in a one-day match reduced by rain to 21 overs per side at Chelmsford.
In reply, Sri Lanka - the recently crowned World Twenty20 champions - were restricted to 9-146 in pursuit of a Duckworth-Lewis adjusted target of 169, with seamer Oliver Newby taking 3-36 in five overs.
After Sri Lankan captain Dinesh Chandimal won the toss and elected to field, only two overs were possible before rain stopped play.
When the match eventually resumed, Essex lost a trio of wickets in quick succession with England allrounder Ravi Bopara lbw for a second-ball duck to Dhammika Prasad as the hosts slumped to 3-21.
But wicketkeeper Ben Foakes helped Cook add 82 for the fourth wicket and made 51 before he was caught by Ashan Priyanjan off Tillakaratne Dilshan.
Left-handed opener Cook faced just 49 balls with four fours and two sixes in an innings that ended when he was caught off Suranga Lakmal.
On a pitch offering plenty of seam movement, Newby - a loan signing from Lancashire - had Kusal Perera lbw and then produced a near unplayable delivery akin to a fast leg-break to capture the prize wicket of Sri Lankan star batsman Mahela Jayawardene, caught behind for six.
England left-arm spinner Monty Panesar took 2-27 in four overs including bowling Dilshan (22) with an arm ball.
But Panesar, whose fielding has long been a source of derision, made arguably his greatest contribution to Essex's victory when, with Chandimal having made 31 at better than a run-a-ball, he took a fine catch above his head at long leg from a well-hit hook.
Panesar followed up by having Priyanjan (10) lbw and, eventually, Sri Lanka were left needing 40 runs off 11 balls with only one wicket standing.
Chaturanga de Silva hit two sixes off Newby but it was not enough to deny Essex victory.
Sri Lanka, who won a rain-marred one-day international series in Ireland before arriving in England, continue their tour with one-day games against county sides Kent and Sussex on Friday and Sunday respectively.
The tourists then play England in a lone Twenty20 at The Oval a week on Tuesday before returning to the south London ground for the first of a five-match ODI series two days later.