Sri Lanka had been on course for 300 but their score looked more than enough as fast bowler Dilhara Fernando took three wickets for 22 runs in 27 balls, including one with his first, as England slumped to 66 for four.
Marcus Trescothick and James Dalrymple both made 67 but it was not enough to see England home, with fast bowler Lasith Malinga taking a One-day International best three for 26 and Fernando three for 51.
Earlier, Tharanga excepted, no Sri Lanka batsman managed more than captain Mahela Jayawardene's 24.
But their score was boosted by England's record extras count of 42, surpassing the 41 they conceded against Sri Lanka at Delhi in 1989/90. England bowled 23 wides while their opponents delivered just three.
Fast bowler Stephen Harmison led the attack with three for 52 but it was his Durham team-mate Paul Collingwood, England's most economical bowler with two for 29 from 10 overs, who pegged Sri Lanka back.
In reply, Sri Lanka saw first-change Fernando strike first ball, England stand-in captain Andrew Strauss (12) caught by wicket-keeper Kumar Sangakkara before Ian Bell played on.
England then saw dangerman Kevin Pietersen out for 10 when, playing a trademark flick off his legs, he was brilliantly caught one-handed by a leaping Jayawardene at mid-wicket off Malinga.
It was a good reward both for Jayawardene's captaincy after he'd packed the offside field and Sri Lanka's generally sharp fielding.
Sri Lanka had recalled their two most experienced bowlers in left-arm quick Chaminda Vaas and off-spinner Muttiah Muralitharan after their two-run Twenty20 win on Thursday but, without either of them striking, England lost their fourth wicket when Collingwood was lbw to Fernando for nought.
But opener Trescothick - reprieved on 10 after Malinga failed to hold a sharp caught and bowled chance - completed a 78-ball fifty with six fours.
Jayawardene brought three spinners into the attack but it was Tillakaratne Dilshan, not Muralitharan - England's main tormentor in the recent 1-1 drawn Test series - who dismissed Trescothick when he bowled the left-hander for 67.
That ended a stand of 72 with Dalrymple, England 138 for five in 32 overs.
Dalrymple, on his Middlesex home ground and in only his second one-day international after his debut against Ireland on Tuesday, pressed on to a 71-ball fifty.
But heading into the final 10 overs, England still needed 82 runs and that became 52 off the final five with four wickets standing.
And Murali, who only had three balls left, delivered the final blow when he bowled Dalrymple.
Tharanga, after Strauss won the toss, was severe on anything short and wide as he began confidently towards his third one-day international hundred and first against England.
But off-spinner Dalrymple should have had Tharanga stumped on 59 however wicket-keeper Geraint Jones - much criticised for his glovework - missed the chance.
Instead medium-pacer Collingwood ended a second-wicket stand of 99 in 112 balls when Jayawardene holed out to mid-off.
The middle-order then fell away before the 21-year-old Tharanga completed his hundred in 128 balls with 13 fours.
Tharanga, in sight of carrying his bat, was caught in the penultimate over.
Not since 2004, away to minnows Zimbabwe, had England won a one-day series and their cause here was not helped by six senior players, including captain Michael Vaughan and star all-rounder Andrew Flintoff, being out through injury.
The series continues at The Oval on Tuesday.
Final scoreboard in the first one-day international between England and Sri Lanka at Lord's here Saturday:
Fall of wickets: 1-25, 2-124, 3-153, 4-187, 5-204, 6-207, 7-227, 8-236, 9-248
Bowling: Harmison 10-0-52-3 (8w)
Plunkett 7-0-32-1 (6w)
Bresnan 9-1-44-1 (1nb, 5w)
Mahmood 9-0-57-1 (3nb, 2w)
Dalrymple 5-0-28-0 (1w)
Fall of wickets: 1-31, 2-44, 3-65, 4-66, 5-138, 6-172, 7-208, 8-214, 9-220