Yorkshire 243 for 9 (Duke 93*, Steel 3-49) beat Surrey 241 (Geddes 92, Mike 4-40)
Chasing 242, Duke, who narrowly missed out on a deserved century with 93 not out off 132 balls, saw wickets fall at the other end as the Vikings slipped from 141 for 3 to 210 for 9.
But the wicketkeeper-batter held his nerve with the help of new-ball seamer Leech, who finished 18 not out and hit the winning boundary off Ryan Patel’s medium pace with nine balls remaining.
Leg-spinning allrounder Cameron Steel claimed 3 for 49 for Surrey to underpin the Yorkshire collapse. Surrey fought hard to engineer a fantastic finish, both with bat and then ball given they were also nought for two having been inserted.
Yorkshire won for the second time in five group games to put them on course for a top-three finish and knockout cricket with three games remaining. Surrey, missing 12 players because of the Hundreds added to further injury issues, lost their second game in five and have it all to do to qualify.
Ben Mike claimed a career-best 4 for 40 from 7.5 overs for Yorkshire, who struck twice in the second over of a Clifton Park contest played in front of a 3,000-strong crowd. Leech struck twice with the new ball in his first over, getting Surrey opener Patel caught at point off a leading edge and Rory Burns caught at second slip on the drive.
Matthew Revis then struck with his first ball as Surrey slipped to 79 for five in the 21st over, with skittish opener Dom Sibley caught at mid-on off a top edge for 30. Ben Foakes took treatment for a twisted ankle before being trapped lbw by George Hill, and he later did not take the wicketkeeping gloves.
Thankfully for Surrey, it was his fellow Ben, Geddes, who steered their recovery. Geddes, 22, shared 45 for the sixth wicket with Josh Blake, who made 25 and took the wicketkeeping gloves, and then 94 for the seventh wicket with McKerr, who added a career best 32 from 124 for six in the 31st over.
Yorkshire went short at Geddes for a time, but he pulled three sixes added to 10 fours, including one into the adjoining gardens over midwicket at the City End of this sun-kissed venue.
Geddes was later bowled by Mike, who also had McKerr the same way. The former Leicestershire quick claimed all four of his wickets inside the final seven overs of the innings as Yorkshire limited the fightback in front of a 3,000-strong crowd.
The Vikings then reached 80 for 3 after 12 overs of their reply, losing opener Fin Bean bowled by McKerr on his home ground and captain Shan Masood the same way by offspinner Amar Virdi. George Hill later followed caught behind off Griffiths for 30.
Virdi was one of three spinners in Surrey’s bowling attack. McKerr even left the field briefly at one stage to tend to a hand injury. Duke kept Yorkshire ahead with a busy half-century, reached off 59 balls. At that point, the hosts were cruising at 138 for three in the 23rd over. However, the game was about to change.
Duke and Will Fraine (32) had shared 61 for the fourth wicket, but the latter’s departure was the first of four wickets to fall for 22 runs – two to Steel’s leg-spin and two stumped by deputy keeper Blake – as the score fell to 163 for seven in the 31st over.
Steel had Mike stumped, Revis caught and bowled and, as the score later fell to 197 for eight in the 35th over, Dom Bess caught at deep midwicket on the slog sweep.
From there, Duke and Leech chipped away at the runs in calm and composed manner, with the latter pulling Patel away to delight the 3,000-strong crowd.