Two run-outs from James Anderson helped Lancashire set up a One-Day Cup semi-final against Hampshire despite a dramatic recovery from Middlesex at Lord’s.

Chasing 305 to win, the hosts had appeared set to fall a long way short after crashing to 24 for five, with Anderson running out Max Holden (4) and dismissing Nick Gubbins lbw for a duck.

James Harris and John Simpson were left to steady the ship, and produced a brilliant sixth-wicket stand of 197 as Middlesex threatened a historic fightback.

Harris (117) sealed his maiden one-day century off 90 balls, but just as Lancashire were beginning to sweat, he was stumped by Dane Vilas after stepping out of his crease to meet a Matt Parkinson delivery.

On the very next ball, a superb direct hit from Anderson removed Simpson for 74, leaving Middlesex needing 80 runs from 48 balls with just three wickets in hand.

George Scott and Toby Roland-Jones kept hope alive for Middlesex but when Scott (26) was beaten lbw by Saqib Mahmood, the game appeared to be up. Nathan Sowter offered brief resistance, hitting Graham Onions for four runs, but the bowler then dismissed Roland-Jones (26) to seal a 20-run win.

Lancashire reached 304 for four in their innings, with Keaton Jennings hitting an impressive 96, including a 159-run partnership with Steven Croft (68).

Despite losing Liam Livingstone early on, the visitors looked set for an even bigger total with Vilas unbeaten on 70 and Jake Lehmann adding a quickfire 29. Tom Helm helped Middlesex keep the score down, bowling well at the death as Lancashire only scored 40 runs in the final five overs.

Earlier, Tom Banton’s century laid the foundations for Somerset’s convincing 147-run victory over Worcestershire in the Royal London One-Day Cup play-off at New Road.

The opening batsman profited from being dropped twice at first slip by Callum Ferguson before he had reached 20, and went on to make 112 as Somerset reached 337 for eight in their 50 overs.

Tom Banton plays a shot on his way to 112 at New Road. Photograph: Alex Davidson/Getty Images

Azhar Ali finished with five for 34 as Somerset bowled out their opponents for 190 in 38 overs, aided by some sharp fielding. They will face Nottinghamshire in Sunday’s semi-final at Trent Bridge.

The visitors were put in to bat on a fresh wicket by Rapids skipper Brett D’Oliveira. New-ball pairing Pat Brown and Charlie Morris restricted Somerset to 38 runs off their 10-over power play, but couldn’t find a breakthrough wicket.

Wayne Parnell claimed it with 66 on the board as Azhar (29) was caught by wicketkeeper Ben Cox. Banton had settled after his early escapes and ramped Ross Whiteley for six to bring up a century stand with Peter Trego. A single down the ground took the 20-year-old to three figures from 95 balls.

Brown struck in his first over back in the attack as Trego (37) went for a pull and bottom-edged through to Cox. Banton beat his previous best List A score of 107 against Kent, but was caught by Brown at deep square leg soon after to leave Somerset on 203 for three.



Ed Barnard dismissed James Hildreth for 38, and then held onto two sharp chances to dismiss Tom Abell and Lewis Gregory. Late hitting by Craig Overton (25) helped Somerset to a formidable total.



For Worcestershire, Riki Wessels and Ferguson both fell early on, unable to repeat their heroics when overhauling 352 against Derbyshire to reach the knockout stages.



Wessels (16) drove Craig Overton to point and after Tom Fell was dismissed lbw to Gregory, Ferguson was undone by a fine piece of fielding from Abell. Daryl Mitchell set off for a quick single but Ferguson failed to beat Abell’s direct hit as Worcestershire slipped to 68 for three.

It was 81 for four when D’Oliveira was undone by a ball from Roelof van der Merwe that straightened, before Cox lobbed a gentle return catch to Azhar as the wickets continued to tumble.

Once Mitchell had fallen for 34, Worcestershire’s hopes were over and Azhar polished off the innings in style, taking the last four wickets in quick succession.