Colombo Sri Lanka overcame a brilliant century by Moeen Ali and a late cameo from Ravi Bopara to defeat England by 25 runs in the first one-day international in Colombo on Wednesday.

Opener Ali smashed 119 off 87 balls with 11 boundaries and five sixes as the tourists made a spirited chase of Sri Lanka’s 317-6 before being bowled out for 292 in the day-night match.

The left-hander’s maiden one-day hundred was followed by Bopara’s 65 off 62 balls in the end overs that left England on the doorstep of victory in the first match of the seven-game series.

But Bopara was last man out off the first ball of the 48th over, caught in the deep off seamer Thisara Perera, who finished with three wickets.

England captain Alastair Cook made only 10 despite being reprieved twice off successive balls in the first over by the TV umpire after being declared leg-before to Angelo Mathews.

Ali put on 51 for the first wicket with Cook and 56 for the second with Ian Bell to lift England to 107-1 in the 16th over.

But three wickets crashed for 17 runs as Thisara Perera dismissed Bell (35) and Joe Root (two) and Ajantha Mendis bowled Eoin Morgan.

Ali was sixth out in the 31st over with the total at 203, offering a tame return catch to spinner Jeevan Mendis.

Mathews said he was delighted to see his team bounce back after the 5-0 drubbing in India earlier in the month.

“It was a good game of cricket,” the Sri Lankan captain said. “We could tick all the boxes. The fielding was outstanding. We had stressed on that after the India tour.

“There is of course a lot of room for improvement but I thought we batted really well. This is a good start to the series. Hopefully we will continue to do well.”

Cook said a poor bowling display cost his team the match. “We didn’t bowl as well as we should have done in the first 10 overs,” he said. “We dragged it back nicely but in the last few overs we always tend to leak a few more runs than we’d like to.

“Moeen played a blinder, but we lost too many wickets which you can put down to lack of match practice. We know if you get behind the run-rate its difficult.

“It’s frustrating because we’re not putting a whole game together. We thought 300 was a par score on this wicket. But there are a lot of positive things from today like the way we attacked Sri Lanka’s bowlers.”

The second match will be played in Colombo on Saturday.