Yorkshire Vikings’ hopes of reaching the NatWest T20 Blast quarter-finals were dented as they collapsed to 95 all out in pursuit of 124 against Durham Jets at Headingley.
The home team's slow bowlers Adil Rashid and Azeem Rafiq had left Durham floundering on 123 for nine off their 20 overs after the visitors had opted to bat first.
But the Vikings were in turn mesmerised by the spin of Scott Borthwick and Gareth Breese, stuttering from 47 for two, to 95 all out, as Durham sealed a 28-run victory.
Yorkshire remained in fourth place in the North Group table despite the shock defeat, while Durham stayed in the hunt a place below with their fourth win of the season.
VICTORY! What a win! Yorkshire Vikings bowled out for 95!
— Durham Cricket Club (@DurhamCricket) July 2, 2014
Rashid and Rafiq enjoyed an equal share of six wickets at a cost of only 34 runs, but then Borthwick turned the screw with 2-11 off his four overs and Breese captured a wicket in his 1.2 overs.
Durham's best figures, however, were returned by paceman John Hastings, who ended with 3-20 as Yorkshire just pipped their lowest ever T20 score of 90 for nine - also against Durham at Chester-le-Street in 2009.
The 5,071 crowd saw Durham Jets misfire so badly that, had Rashid not dropped a low return chance from last man Chris Rushworth, they would have been all out for 94 - one fewer than Yorkshire went on to make.
But Breese and Rushworth then made the most of the escape with an unbroken stand of 29 - the highest of the innings.
Ryan Sidebottom made the initial breakthrough for Yorkshire with the last ball of his first over, which Mark Stoneman hit straight to Rafiq at point - the first of several batsmen to perish by giving the simplest of catches.
Phil Mustard settled in with a couple of early boundaries but wickets continued to topple, Paul Collingwood well taken by Adam Lyth above his head at mid-on off Richard Pyrah and Michael Richardson falling to a fast slip catch by Aaron Finch from an edged drive.
That made it 33 for three, but Durham's problems were only just beginning as Rafiq and Rashid took full control, off-spinner Rafiq's figures of 3-20 being his best for three years.
It was Rashid, however, who struck one of the biggest blows by getting rid of Mustard for 40 off 43 deliveries to make it 76 for seven, the opener leaving his crease to be stumped by Jonny Bairstow. With his next ball, Rashid had Usman Arshad lbw to complete a double-wicket maiden.
Rafiq finishes with 3-20, his best figs in 3 years. Durham 91-8 off 16 overs
— Yorkshire CCC (@Yorkshireccc) July 2, 2014
Yorkshire's demise began with the first ball of the second over of the innings from Hastings, which Andrew Gale hit towards the midwicket boundary where he was nicely held by Richardson.
Finch and Alex Lees settled things down until the latter played on to Hastings, and the dismissal of Finch - lbw to Borthwick's second ball - signalled the start of the rot. Borthwick's next delivery was driven back hard by Lyth for the bowler to pull off a brilliant catch diving to his left.
Borthwick remained in the thick of the action by throwing down the stumps to run out Oliver Robinson and the slide continued as Bairstow was caught by Breese at midwicket off Collingwood.
With panic setting in, Tim Bresnan was beaten by Stoneman's throw from cover and Borthwick was soon in the limelight again, catching Rashid at long-on to bring Breese his wicket.
Richard Pyrah and Rafiq started a mini-revival which ended with Pyrah being lbw to Hastings at 91, and there were 16 balls still remaining when Sidebottom was run out while he and Rafiq were considering a third run.
Yorkshire coach Jason Gillespie said: "It was an unacceptable performance.
"We were poor with the bat and like rabbits in the headlights. We did not adapt to the situation and paid the price.
"It was a very similar performance to the one we put in against Nottinghamshire last week at Trent Bridge.
"I thought we bowled and fielded very well but to come out and bat like that was very disappointing."