It was a brilliant performance by the Scots against an England team who are currently top of the one-day international rankings.
And it meant England would have to beat their highest winning total batting second in an ODI -- 350 for three against New Zealand at Trent Bridge in 2015 -- if they were to defeat Scotland in this stand-alone match.
The Scots, sent into bat by England captain Eoin Morgan, lost two wickets in quick succession to be 107 for two off 15 overs.
But MacLeod ensured a promising start to the innings was not wasted and together with George Munsey (55) he shared a fourth-wicket stand of 107.
The 29-year-old MacLeod went to a hundred off just 70 balls, his seventh at this level but his first against an active Test nation and the first by any Scotland batsman against England.
In total, MacLeod faced just 94 balls including 16 fours and three sixes.
For England, a 'warm-up' fixture, ahead of a five-match ODI series against Australia starting at The Oval on Wednesday, had now become a huge challenge.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)