Skipper Vince scored an elegant and dazzling 171 as he took his side towards a first Lord’s final since winning the tournament in 2012.
Liam Dawson picked up four wickets to complete the 107-run victory and send Hampshire to Lord’s on June 30 and condemn Yorkshire to defeat.
Yorkshire won the toss and put Hampshire in under blue skies, and struck in just the sixth over when Jimmy Adams was tucked up by Ben Coad and edged to Tom Kohler-Cadmore at first slip.
That brought Vince to the crease and right from the start he showed the flourishes which would decorate his innings, with some early back-foot drives.
Rilee Rossouw top-edged to Cheteshwar Pujara at mid-off, to bring Sam Northeast out for his debut white-ball innings for Hampshire.
Northeast had missed the entire group stage due to a fractured finger, suffered 53 days ago, and once he got going looked incredibly assured – with his running between the wickets particularly strong.
At the other end Vince was collecting milestones, reaching 4,000 List A runs, and a fifty in 45 balls with minimum fuss and maximum style.
His complementary partnership with Northeast reached 142 when the former Kent batsman - who collected his half century in 51 balls with a six and a four – skied to mid-off, before Joe Weatherley chopped onto his own stumps.
Vince, meanwhile, was accelerating, reaching his century with a bashful pull shot from his 83rd delivery.
Timing proved effortless for the England star as he clubbed two maximums over long-on, the latter bringing up his 150, in 111 deliveries.
Eventually he was caught on 171 drilling to Kohler-Cadmore at long-on.
After Vince had departed, the runs continued at a rate of 10 runs an over thanks to Lewis McManus’ 25.
But McManus was caught on the point boundary, Chris Wood bowled by Steven Patterson and Dale Steyn run out – as Hampshire reached 348.
Yorkshire didn’t start their chase well as Chris Wood pinned Adam Lyth lbw in the fourth over.
Pujara fell in the next over as Steyn produced some exaggerated pace and bounce to find the shoulder of the bat before nestling in second slip Jimmy Adams’ grasps.
Gary Ballance tried to get the visitors moving with a run-a-ball 25 but picked out Northeast on the square leg boundary, before Kohler-Cadmore cut Dawson to point leaving them 73 for four.
Jonny Tattersall added exactly 50 for the fifth, sixth and seventh wickets with Jack Leaning, Tim Bresnan and Matthew Fisher.
Jack Leaning and Jonny Tattersall added 50 together from the fifth wicket before the former was bowled by Dawson.
Tattersall, who scored a personal high 89, reached a measured 57-ball 50 while Leaning was bowled, Bresnan was yorked by Wood and he was caught at cover off a leading edge.
Spinner Dawson then had Patterson caught behind and Fisher leg before to end with figures of four for 47 – before the home team completed the thrashing when Coad hit to mid-off.
Report by Alex Smith