Taylor, given a chance to play his third one-day match only because skipper Alastair Cook was serving a one-game suspension due to slow over-rates, seized the chance with delectable strokeplay.
The 24-year-old hit six boundaries and two sixes in his 90 before holing out in the deep off Ajantha Mendis after suffering cramps caused by stifling heat and humidity.
Eoin Morgan, leading England in Cook's absence in a game the tourists have to win to level the seven-match series 2-2, struck 62 off 47 balls.
Spinners Dilshan, Mendis and Rangana Herath picked up three wickets each.
More From This Section
Taylor put on 93 for the third wicket with Joe Root (36) to lead a fightback after Sri Lanka had removed openers Alex Hales and Moeen Ali by the eighth over with the score at 29.
After Root was bowled by Herath in the 26th over, Ravi Bopara stepped in to help Taylor add 48 for the fourth wicket.
Sri Lanka were boosted by the return of star batsman Mahela Jayawardene, who missed the five-wicket defeat in the previous match in Hambantota due to personal reasons.