Yorkshire defended a 180 target and consigned leaders Worcestershire to their first Vitality Blast defeat at Blackfinch New Road.
Gary Ballance’s 21-ball 40 was the top score in the Vikings 179-7, which looked short at halfway, before a superb bowling and fielding display turned the game.
Worcester, having won four from four, lost three wickets in the first five overs and later slipped to 58-5, failing to recover.
Tim Bresnan and Steve Patterson claimed three wickets apiece as they finished on 167-8.
Yorkshire have now won three from their first four to sit joint second in the North Group with Lancashire, who have a superior net run-rate.
They play each other at Emirates Old Trafford on Friday when Yorkshire will field Kane Williamson and some of their England internationals.
After being 31-0 after three overs, Yorkshire would have hoped for more. Despite a trio of top order starts, no one was able to go on on a good pitch.
Having been inserted, the Vikings flew out of the blocks.
Adam Lyth hit three boundaries in the first over from Dillon Pennington on the way to a 21-ball 35. However, he was one of those who did not go on alongside Harry Brook, who hit 33.
Jonny Tattersall also hit 29, but he was out in the penultimate over to a stunning piece of relay boundary fielding at deep mid-wicket between Daryl Mitchell and Martin Guptill.
It was the first of two wickets in two balls for seamer Pat Brown (3-34), who trapped Bresnan lbw.
After Lyth scored 35 of the first 40 runs, Ballance hit four sixes and shared 62 in six overs for the third wicket with Brook to advance the score from 49-2 in the sixth over.
But he holed out to deep mid-wicket off Mitchell’s medium pacers (111-3 in the 12th).
Yorkshire lost three wickets in the last 19 balls of the innings to prevent significant acceleration, although debutant all-rounder Jordan Thompson hit 12 off four balls at the death, including a last ball six off Ed Barnard to give them a late boost.
And they were further boosted as Bresnan struck twice in the first three overs of the Rapids chase, leaving them at 25-2.
Bresnan, the star of Friday’s win at Durham, had New Zealand opener Guptill caught behind for a two-ball duck at the start of the innings before forcing Joe Clarke to miscue to mid-off in the third over.
Patterson then had Mitchell caught at short fine-leg in the fifth and Azeem Rafiq removed Ben Cox caught at long-on as the score fell to 50-4 in the eighth. Both were smart catches by Jack Brooks and Lyth.
When Pudsey St Lawrence all-rounder Thompson claimed his maiden first-team wicket, that of Australia’s Travis Head caught at deep mid-wicket, Worcester were five down and all but out of contention.
They needed 70 off the last six overs before Bresnan’s third was that of Brett D’Oliveira caught at short-fine-leg.
Ross Whiteley’s presence at the crease kept Yorkshire honest, and he helped take the target to 50 off the last four. But he fell to another good catch at deep cover from Jack Leaning off Patterson for 37. At 132-7 in the 17th, it really was game over.
Patterson later removed Luke Wood before Bresnan defended 20 off the last.