Set a tough target of 232 off 32 overs under the Duckworth-Lewis method, Sri Lanka wilted to 15-4 by the fifth over, with Anderson taking 3-7 in his first three overs to remove Tillakaratne Dilshan (1), Kumar Sangakkara (4) and Mahela Jayawardene (5) - the team's three key batsmen.
The fast bowler then took a sensational diving catch to see off the dangerous Angelo Mathews (16) before adding Nuwan Kulasekara to his list of scalps, finishing with figures of 4-18 off five overs and giving England the perfect start to the five-match series.
Earlier, Craig Kieswetter hit a rapid 61 off 56 balls either side of a frustrating three-hour rain delay to help England to 229-8.
There was no fairytale end to Sri Lanka veteran Sanath Jayasuriya's international career. The 41-year-old opener, playing his 445th and final ODI, perished for 2 off just four balls, although he did grab the wicket of Ian Bell to have bowling figures of 1-46.
The victory allowed England to gain some revenge for the humiliating 10-wicket hammering it received at the hands of the Sri Lankans in the World Cup quarterfinal in March, and improved its overall ODI record against the tourists to 24-22.
Sri Lanka, who welcomed back captain Dilshan from a broken thumb, whitewashed England 5-0 in the teams' last ODI series on English soil but was always up against it after going for 7.15 runs an over in England's innings.
Aside from Kieswetter, whose entertaining knock on his return to the team featured four fours and two sixes, Eoin Morgan (45 off 35 balls) and Kevin Pietersen (26 off 24) also chipped in with quickfire knocks for England.
Opener Alastair Cook (5) - starting out as England's full-time ODI captain and playing his first ODI in 15 months - had lasted just three balls but Kieswetter underpinned the rebuilding of the team's innings in some style.
Suranga Lakmal then went for 20 off the last-but-one over - with allrounder Tim Bresnan smashing 24 off 13 deliveries late on - to give England a bigger psychological advantage by the turnaround.
Dilshan departed to the third ball of Sri Lanka's innings, holing out to Bresnan in the deep, before Anderson trapped Jayawardene lbw, leaving the tourists on 14-3 after 26 balls.
When Sangakkara was caught and bowled by the Lancashire paceman, who then dived to his right to pouch a hooked slog by Mathews to make it 40-5, it was a case of damage limitation for Dilshan's side.
Thilana Kandamby went for a slow 19 before the tail briefly wagged, Lasith Malinga (26) and Suraj Randiv (24) enjoying a swashbuckling 52-run, ninth-wicket stand. Graeme Swann wrapped up the innings, dismissing the tailenders in the space of four balls to end with 3-18 off five.
Malinga (3-40) earlier had Sri Lanka's best bowling figures.
The second match of the series will be played in Leeds on Friday.