Hampshire looked as if they could be in trouble against Warwickshire after managing a total of just 206-7 from their 50 overs at the Rose Bowl in Southampton.
But Warne's capture of the wickets of Heath Streak and left-hander Jim Troughton helped break the visitors' resistance and Warwickshire were all out 40 runs short of their target.
John Crawley top-scored for the home side with 65, outshining Kevin Pietersen, whose attempt to flay the bowling of fellow Maritzburg College old boy Tim Groenewald ended with him holding out to mid-off on 18.
In the other semi-final played at Riverside in Chester-Le-Street, discarded England bowler Liam Plunkett took four wickets for 15 and then hit an unbeaten 30 with the bat to steer Durham to victory over Essex.
Plunkett claimed his career best figures as Essex were skittled for just 71 runs in the semi-final.
But the home side came close to making a hash of what should have been a straightforward run chase, collapsing to 38-5 before Plunkett joined Ottis Gibson at the crease.
The turning point came one run later, in the 10th over of the chase, when Danish Kaneria dropped a sprawling chance at mid-on from a chipped drive by Gibson.
Later in the same over Graham Napier bowled a no-ball and Plunkett lofted the free hit for a towering straight six.
Fittingly it was Plunkett who hit the winning runs, forcing Martin Saggers through the covers off the back foot, to seal a three-wicket success.
Hampshire 206 for 7 in 50 overs (John Crawley 65, Nick Pothas 40 n o, Mascarenhas 26; Dale Steyn 2 for 31) beat Warwickshire 166 all out in 43.3 overs (Sangakkara 44, Ambrose 41; Stuart Clark 3 for 38, Sean Ervine 2 for 13, Mascarenhas 2 for 30, Shane Warne 2 for 37).
Essex 71 all out in 22.1 overs (Andy Bichel 24, Napier 14; Liam Plunkett 4 for 15, Killeen 3 for 9, Gibson 3 for 21) lost to Durham 72 for 7 in 19 overs (Liam Plunkett 30 n o, Styris 16; Andy Bichel 4 for 22, Napier 2 for 14).