Chasing 288 for their history-making moment, Aberdonian duo Coetzer and Cross never looked back from the moment the latter clipped an early delivery over the ropes at deep square leg for six.
The pair then destroyed the Sri Lankan bowling with a brilliant display of controlled aggression as they first posted 50 in ten overs and reached 100 just six overs later.
Coetzer, only playing due to the early birth of his second daughter, went on to reach a superb century and was eventually first out for a blistering 118. His departure sparked a slight stutter as another two batsmen departed in quick succession.
But Cross anchored the innings brilliantly, reaching his century with a boundary to level the scores before the Scots clinched a famous win with seven wickets to spare.
Coetzer said: “The baby arriving early has worked out perfectly for me and it’s been a great day. We’ve played a really good game of cricket and I think restricting them to less than 300 on that wicket was key to the win.
“It was an outstanding effort by the bowlers because Sri Lanka came at us hard and at one stage it looked as if they might get away from us.
“For Crossy and me it was just one of those days. I’m a great believer that if things are going your way you should keep riding the wave and that’s what I did.”
Scotland had previously defeated Australia in 1882 and have twice beaten Bangladesh – once in a T20 international – but yesterday’s success was their first win against a top-ranked Test side in a 50-over clash in the modern era.
They made a promising start when Ali Evans found a way through Upul Tharanga’s defences to bowl the dangerous opener for 20. Better followed when debutant Stuart Whittingham found the edge of Kusul Mendis’ bat and Cross took the catch. At 36 for two Sri Lanka needed rebuilding and it was provided by Thisara Perera and Dinesh Chandimal, who both hit half-centuries.
The Scots refused to throw in the towel and Chris Sole was rewarded when Angelo Matthews skied a catch to Con de Lange as the Lions reached 165 for four after 30 overs.
Sri Lanka continued to accumulate runs but their hopes of a big finish appeared to be dealt a blow when Whittingham returned to the attack to remove Chandimal, caught behind for 79 from 50 balls.
However, Chamara Kapugedera proved an able replacement, striking some lusty blows as he brought up a belligerent 50.
He survived a chance when Sole failed to hold on to a difficult return catch but his luck ran out on 71 when he edged behind to give Whittingham his third wicket.
Kupagedera’s dismissal stalled the charge and it was the Scottish bowlers who finished on top, Evans adding another two wickets to his haul and Sole one as Sri Lanka were all out for 287. The sides meet again tomorrow.