Tillakaratne Dilshan top-scored with 88 as Sri Lanka made a respectable total of 256 for eight from their 50 overs.
The total looked achievable for an England side who easily won the first one-dayer but they collapsed to 99 all out with Nuwan Kulasekara and Sachithra Senanayake taking seven wickets between them.
Renowned for his extravagant and creative batting, Dilshan played a more subdued knock.
"We needed that kind of innings when the wicket is not suited for the batsmen," man-of-the-match Dilshan told Sky Sports.
"We wanted to bat as long as possible then we can go for our target. That was the aim for us.
"The conditions suited the bowlers, especially in the first 10-15 overs when it seamed around and they bowled really well.
"After a few overs we knew 230-240 would be a good score. The main target was to bat long partnerships and I think it worked.
"I was a little bit disappointed (not to score a century) but it was a very good ball."
After winning the toss, England were frustrated by Dilshan and Kumar Sangakkara who piled on the runs to take the visitors to 129 for one.
Sangakkara, who signed a short-term deal with English county Durham in preparation for the tour, fell for 40.
England's fielding, an issue of late, was again sloppy with both Harry Gurney and Ravi Bopara dropping relatively routine catches as Dilshan continued his expertly controlled innings but he was eventually bowled by Chris Jordan just 12 runs short of an 18th one-day international century.
Sri Lanka captain Angelo Matthews and Ashan Priyanjan shared a 66-run partnership for the fifth wicket as the visitors passed the 200 run mark.
England took four wickets towards the end of Sri Lanka's innings for just 23 runs, including the impressive Priyanjan (43) who became James Anderson's 250th ODI wicket.
England's reply got off to a steady yet unspectacular start before Michael Carberry, replacing injured captain Alastair Cook, was caught behind off the bowling of Kulasekara.
Kulasekara claimed a wicket in each of his next two overs with the dismissal of Ian Bell and Gary Ballance, and Joe Root was clean bowled for a duck by Lasith Malinga as England crumbled to 29 for four.
Bopara became the first of Senanayake's four victims as he also accounted for Jordan, James Tredwell and Anderson.
Eoin Morgan top-scored for England with 40 before becoming the ninth victim as England finished with just two batsmen in double figures.
The third ODI will take place at Old Trafford on Wednesday.
- Sports & Recreation
- Tillakaratne Dilshan
- Sri Lanka
- Sachithra Senanayake
- Nuwan Kulasekara