McCann was stumped on 92 after sharing a 160-run second-wicket partnership with Keshana Fonseka that ensured a strong response with the bat after Sri Lanka were all out for 324.
Sri Lanka U19s captain Dinuru Kalupahana had earlier reached his maiden international century with Surrey Academy quick Alex French the pick of the England U19s bowlers with 81 for four.
The hosts lost three late wickets, with captain Hamza Shaikh and Noah Thain quickly following McCann back to the pavilion, but Fonseka stood firm as they closed on 193 for four and with a bit of work to do with one day remaining.
McCann hit a record-breaking 174, from just 139 balls, to help secure victory in the second Youth ODI at Hove last week and again dominated the tourists bowling scoring a near run-a-ball half-century.
England had lost Jaydn Denly early, pulling Nathan Caldera straight at Praveen Maneesha, but McCann and Fonseka then took centre stage as they scored at better than four runs an over.
McCann, who signed his first professional deal at Nottinghamshire last November, appeared set for three figures but was undone when a Vihas Thewmika delivery kept low as he advanced down the wicket.
Shaikh followed soon after when he picked out Sheshan Marasinghe off Thewmika before Thain played back to a Maneesha ball that also kept slightly low and skidded into his stumps.
Fonseka remained unbeaten on 72, alongside new man and Lancashire team-mate Rocky Flintoff, to leave England U19s 131 runs behind at the close.
Sri Lanka captain Kalupahana was the star of the first half of the day to post his milestone century. The 19-year-old looked comfortable in the conditions, typified by the stroke that brought up his century as he eased French backward of point and to the rope.
Kalupahana celebrated the milestone by racing towards his team-mates and leaping into the air.
The skipper had shared a 99-run stand with Diniru Abeywickramasingha, who became the first of five batsmen caught in the ring during the day when he mis-timed a drive to Flintoff in front of point.
Leicestershire’s Alex Green then claimed the prize wicket of Kalupahana with the first ball of his new spell – the second time he has done that in the game – trapped lbw on the crease.
Thain enticed Thewmika to drive to Flintoff at wide mid-on after a 45-run eighth-wicket stand with Caldera, who was last man out when he too mis-hit a drive that Shaikh held to hand French his fourth wicket.