Yorkshire 259 for 7 (Ballance 91, Leaning 57, Porter 3-25) beat Essex 234 (Wheater 78, Patterson 4-36) by 25 runs

"Mustn't grumble," is not a phrase particularly associated with Yorkshire folk, and who knows whether Steven Patterson and Andrew Gale privately bemoaned the fact their side would be shorn of six internationals for the Royal London Cup play-off in Chelmsford. But the XI men selected for the Yorkshire County Cricket Club (note that definite article) against Essex showed skill, heart and stoicism to play their way defiantly into the semi-finals.

From 45 for 4, they resurrected a faltering innings through Gary Ballance's 91, before a concerted and disciplined bowling effort constricted the hosts on a pitch that was never quite as easy to bat on as it looked. The significance of Tim Bresnan's carefree 41 from 32 as Yorkshire added 71 in the last eight overs of their innings increased with the fall of each Essex wicket.

Patterson, who took over the captaincy after Ballance was given time off last month to deal with fatigue, led by example with parsimonious figures of 10-1-36-4, which included the dismissal of Adam Wheater for 78 off 70 balls as Essex's ninth-wicket pair threatened to make for an uncomfortable finish. Yorkshire will travel to Hampshire on Monday, while Essex must reflect on an eighth consecutive quarter-final defeat - five of them at home - in limited-overs competitions going back to 2014.

"We were under pressure, but we got to 260 and thought we were in with a shot," Patterson said. "We knew the pitch would get harder to bat on, if we started well we were in the game. I knew we had the quality with the ball, and we held our nerve. This is what we play the game for, one win away from a Lord's final."

Perhaps nursing a sense of injustice at the schedulers, perhaps just channelling native belligerence, Yorkshire fought for every inch. They were missing Joe Root, Jonny Bairstow, Adil Rashid, Liam Plunkett and David Willey with England, while Cheteshwar Pujara had departed to play India's Test against Afghanistan, but found spirited performances throughout, from Ballance, Patterson and Bresnan to Jack Leaning and Kyle Carver, the young spinner who Essex (largely unsuccessfully) tried to target.

Three seasons ago, Yorkshire came to Chelmsford for a Royal London semi-final and defended 252 - Plunkett a central figure, with Bairstow and Rashid also in the ranks. Much has changed for both clubs since then. Essex are now the defending County Champions - something almost unimaginable in 2015 - but their inability to handle knockout competition has survived into a third different coach, Anthony McGrath left scratching his head in the manner of Chris Silverwood and Paul Grayson before him.

Essex were missing personnel, too, captain Ryan ten Doeschate and seamer Sam Cook casualties of the Championship trip to Old Trafford. Ten Doeschate was suspended after an outburst that took his tally of disciplinary points over the limit, meaning Essex brought in Alastair Cook - last season's leading run-scorer in the competition but more recently on Test duty against Pakistan - and shuffled Wheater down the order from his berth at opener.

The disruption certainly did not help Essex find rhythm in their chase of what looked a manageable target after Yorkshire had chosen to bat first. Cook skied an ugly heave to mid-off as Essex puttered along to 31 for 1 in the initial ten-over Powerplay, setting the tone for a disjointed innings in which Wheater made a valiant half-century from No. 6 but found little assistance in building the required partnerships.

Tom Westley, the stand-in captain, was unfortunately run out when Ben Coad got his fingertips on a Varun Chopra straight drive, but the rest of the top five were culpable in their dismissals. Chopra chose to slog-sweep Carver to the longest part of the ground one ball after driving through extra cover for four, while Dan Lawrence and Ravi Bopara both fell hitting across the line to Patterson as Essex slipped to 89 for 5 at the midway point of the innings.

The day began so differently, the chief concern for the members being that the arrival of Sky Sports to televise the game had swallowed up all the parking. They had a wicket to celebrate almost immediately, too, as Jamie Porter demonstrated his increased proficiency with the white ball, Tom Kohler-Cadmore stepping into a nip-backer to be lbw.

Harry Brook, one of the heroes for Yorkshire last month as they claimed victory after being bowled out for 50 in a remarkable Championship match at Chelmsford, chopped on in the next over, bowled by Matt Coles, and Yorkshire were really in the mud after Porter's double-wicket maiden - Adam Lyth scything an uppercut to third man and Jonny Tattersall done by one that bounced low. Porter finished with 3 for 25 but was curiously only given nine overs - a miscalculation by Westley? - in a game pock-marked by errors.

It took an old-school partnership of 129 in 28 overs between Ballance and Leaning to repair the damage for Yorkshire. Ballance made his most significant contribution since returning to action (without the burden of captaincy) and looked set for a restorative century until cutting at Neil Wagner as he tried to push on.

The most significant error of the day was perhaps made by Wagner, who would have removed Ballance on 43 had he held on to a sharp, low catch on his knees in his follow through. Yorkshire's No. 4 went to fifty soon after with a crisp straight drive off Bopara, who was later treated to the indignity of being lapped for six straight over the keeper as Ballance began to find some fluency; four balls later he abandoned niceties to heave six more into the stands over midwicket. Never mind grumbling, Yorkshire were rumbling.