The seamer dismissed Kevin Pietersen, Ian Bell and debutant Phil Mustard in his opening four overs as England were bowled out for 150 on a slow pitch in reply to Sri Lanka's 269-7 to concede a 1-0 lead in the five-match series.
Maharoof (4-31) then removed opener Alastair Cook, who top-scored with a defiant 46. Mustard (27), Ravi Bopara (27 not out) and Graeme Swann (24) were other batsmen to reach double-figures in a dismal batting performance.
Sri Lanka earlier rode on skipper Mahela Jayawardene's solid 66 to reach a challenging total after winning the toss before man-of-the-match Maharoof drove home the advantage with his disciplined opening spell.
"Our bowlers did a brilliant job. They got a few early wickets and that really put them under pressure. Maharoof showed what he is capable of doing," said Jayawardene.
"When we saw the wicket we knew we needed to be patient. We knew a total of 250-260 would be competitive."
England got off to a brisk start when Cook and Mustard put on 43 for the opening wicket, but lost their way under lights when Maharoof was pressed into the attack after seven overs.
Maharoof provided the breakthrough in his first over when he had Mustard caught by a diving Lasith Malinga at wide mid-off and then had Bell (nought) and Pietersen (one) caught behind to reduce the tourists to 60-3.
England could never recover from early blows, losing wickets at regular intervals before being dismissed in the 35th over.
"I was happy with the way we bowled. I think the total was gettable, but we lost wickets in the middle order and that cost us the match," said England skipper Paul Collingwood.
"Hopefully, we can improve and get a win next time."
Jayawardene earlier made a half-century just when England looked like restricting Sri Lanka to a modest total with their tight bowling.
The hosts made an impressive start when veteran Sanath Jayasuriya (41) and Upul Tharanga (40) added 71 for the opening wicket but they lost momentum in the middle overs.
Seamers Collingwood, Ryan Sidebottom and Stuart Broad grabbed two wickets apiece. Off-spinner Swann took one wicket in his first one-dayer in seven years.
Jayawardene held the innings together after the dismissals of Jayasuriya and Tharanga in a space of six overs. He added 71 for the third wicket with Kumar Sangakkara (38) and 59 for the next with Chamara Silva (33).
The foundation was laid by Jayasuriya who went for big shots after taking some time to settle down, swinging paceman James Anderson for the match's first six and then pulling for a four in the same over.
But he fell just when he looked like dominating the attack, caught by Bopara at deep mid-wicket off left-arm seamer Sidebottom only one ball after being dropped by Anderson at mid-on.