The pair cruised to a brilliant 71-run partnership in Dubai to set up a semi-final showdown today with old rivals Ireland.
Coming together when the Scots were beginning to struggle in their pursuit of 134, they steadied the ship then added momentum when it mattered.
But the triumph came at a cost, with Richie Berrington doubtful for the Ireland tussle after suffering suspected hamstring damage while pulling off a vital run-out.
Cross fell for 47 off 40 deliveries, leaving MacLeod, pictured, (35 not out from 30) and Craig Wallace to complete the seven-wicket win with six balls to spare.
Skipper Kyle Coetzer and George Munsey had laid the ideal foundations with a solid stand of 43 before Coetzer was dismissed for 25 from 22 balls.
Munsey, who had become bogged down, quickly followed after chipping a return catch to Khawar Ali. His tame departure left the Scots needing to step up the rate.
Cross and MacLeod obliged by eased the jitters, with the former launching Ajay Laicheta for a much needed six.
The pair, however, were content to focus on piling up the singles in calm and controlled fashion until Cross cleared the rope again in the 15th over.
MacLeod then followed suit as they brought up the combined 50.
And despite the loss of Cross, it turned into a comfortable chase.
Earlier, Coetzer had depended on his spinners at the start of the Oman innings – and to good effect.
Mark Watt made the initial breakthrough, trapping Arun Manavalan lbw for a duck with the tally on 11.
But there was frustration for Chris Sole when the umpire turned down a confident shout for a catch behind.
Zeeshan Maqsood’s reprieve proved to be short lived, however, as he heaved Watt to MacLeod in the deep to make it 26 for two after five overs.
Oman had another let-off in the ninth. Safyaan Sharif tried to cling on to a big hit from Khawar Ali off Con de Lange, but was forced to give up the chance as he stumbled across the boundary rope, saving five runs in the process.
And thanks to the nagging consistency of the slow men, the total at the midway stage was a modest 53.
De Lange instantly improved the situation further for Scotland, clean bowling Ali.
And off the next delivery, Aaquib Ilyas was brilliantly run out by Berrington, who then had to hobble off.
Laicheta hit a six off Michael Leask, however the Somerset man snatched instant revenge by shattering his stumps.
De Lange then returned to the spotlight to get rid of Muhammad Naseem, reducing the Omanis to 90 for six.
Back came Sharif to dismiss slogger Khurram Khan, who was pouched by Coetzer at extra cover. He then struck twice with successive balls in the last over to stave off a late flurry of runs.