Sussex 137 for 6 (Salt 42, MacLeod 40) beat Essex 136 for 9 (Walter 76, Garton 4-21) by four wickets
Sussex secured a home Vitality Blast quarter-final against Lancashire when they beat last season's winners Essex by six wickets with 10 balls to spare.
Garton hit an unbeaten 34, and earlier claimed figures of 4 for 21 as Essex, apart from Paul Walter, struggled to make progress in the way they wanted. Walter struck 76 with the help of nine fours and three sixes after arriving with his side 18 for 3.
Essex got off to a disastrous start; losing two wickets in the opening over from Garton without a run on the board. Cameron Delport was caught behind by Phil Salt while Feroze Kushi was bowled trying to turn the ball to leg.
Varun Chopra lightened the Essex gloom by driving Ollie Robinson for six but in the same over was bowled to leave Essex 18 for 3 in the fourth over. Worse was to follow when Mitchell Claydon joined the attack to breach the defences of Michael Pepper four runs later.
That left Simon Harmer and Walter attempting to repair the damage but they found it difficult to make progress against bowlers who gave nothing away, so much so that the halfway point of their innings arrived with only 47 on the board.
A reverse sweep to the boundary off left-arm spinner Danny Briggs brought up the 50 and in the same over Walter unleashed a superb drive for six.
A couple of boundaries by Walter off former Essex paceman Tymal Mills improved fortunes for the home side before the introduction of David Wiese ended the partnership after it had yielded 43. Harmer was the man to depart as he skied a top edge which Salt accepted with ease.
Much then depended on Walter if Essex were to post any sort of challenge and he responded by punishing Briggs for six and a four as he moved towards his half-century.
He reached it with a leg glance to the fence but immediately afterwards he lost debutant Robin Das who was caught at square leg to provide Garton with success in the 16th over.
While Walter continued to impress with two more boundaries he was to lose Jack Plom with the total on 109 as he was bowled by Garton to provide the seamer with his fourth success.
Following the departure of Aron Nijjar, a victim of Claydon, Walter's fine innings came to an end in the final over when he was bowled by Robinson for 76. This effort spanned 44 balls and included nine fours and three sixes.
Sussex did not embark upon their target in a blaze of glory. Luke Wright's stumps were left in disarray by Plom with the total on nine and Delray Rawlins provided Ben Allison with his first wicket at senior level when he was caught by Shane Snater.
Snater then joined the attack to have former Essex man Ravi Bopara caught on the square leg boundary by Allison to spark a collapse and leave Sussex nerves jangling.
Salt, having struck seven fours and a six in his 22-ball 42 was caught in the deep by Harmer, who then made an impact with his offspin by trapping David Wiese leg before to leave the visitors 59 for 5.
The total moved into the 70s in the tenth over to leave MacLeod and Garton to put the innings back on even keel.
Both were to collect boundaries at the expense of Harmer before the pair carried the total into three figures in the 15th over.
The next landmark was the 50 stand, it arriving in the same number of deliveries and the sixth wicket pair continued to keep pace with the required run rate until MacLeod departed for 40, made from 40 balls, with the score on 132 in the 18th over. He was caught in the deep off Plom.
Garton then square cut Delport to the boundary in the next over to carry his score to 34 from 30 deliveries and take Sussex to victory.