Lewis Goldsworthy hit a career-best 115 not out as Somerset progressed to the final of the Metro Bank One-Day Cup with a 23-run victory over holders Leicestershire Foxes at the Cooper Associates County Ground, Taunton.

The hosts posted 334 for four after losing the toss, Goldsworthy blasting 5 sixes and 6 fours in a brilliant 86-ball innings against the team he represented on loan in this season’s Vitality Blast. James Rew contributed 71 and Andy Umeed 57.

In reply, Leicestershire made 311 for nine, Peter Handscomb leading the way with 111 off 86 balls, including 13 fours and 2 sixes, while Ben Cox hit 49. Somerset go forward to face Glamorgan in the final at Trent Bridge on Sunday September 22.

Somerset openers Umeed and George Thomas took time to assess the pace of the pitch with a solid stand of 91 in 19 overs. It ended when Thomas, on 47, departed lbw to Tom Scriven falling across his stumps, having struck 7 fours.

Umeed’s half-century was the tenth in his last 15 One Day Cup innings. His 76-ball knock concluded when he tried to lift a ball from Roman Walker over mid-on and was well caught by the back-pedalling Ian Holland above his head.

After 30 overs, Somerset were becalmed on 135 for two. But Goldsworthy and Rew soon began to raise the tempo, Goldsworthy going to fifty off 52 balls and Rew quickly following off 44.

The pair had taken the score to 251 in the 44th over when Rew was superbly caught by the diving Louis Kimber on the mid-wicket boundary off Chris Wright. By then Goldsworthy was in full flight, smashing two of his sixes in the same Holland over as Somerset plundered 119 off the last ten overs of their innings.

The 23-year-old Cornishman’s second List A century came off 79 deliveries and he went past his previous career-best score of 111 with a pulled four off Walker. Skipper Sean Dickson made a rapid 18 and Ben Green, another Leicestershire loanee this summer, cleared the ropes off Walker.

It was Somerset’s highest ever List A total against Leicestershire. But soon Sol Budinger and Holland were eating into it, putting on 54 in eight overs before Budinger, on 33, pulled a catch to deep square off Josh Davey.

Holland and Lewis Hill then accumulated sensibly and had taken the total to 92 in the 17th over when Hill top-edged a pull off Green to be caught for 19. Holland followed in Green’s next over, bowled by a slower ball that kept low, having moved comfortably to 40.

Green struck a third and vitally important blow when Ajinkya Rahane pulled a short ball straight to substitute fielder Ned Leonard at deep backward square and Leicestershire were in disarray at 106 for four in the 21st over.

Kasey Aldridge bowled his first five overs for 11 runs to increase the pressure and at halfway in their innings the Foxes were 126 for four, needing a further 209 at more than eight an over.

While Handscomb was going strong there was hope. The experienced Aussie went to a 42-ball half-century with a six off Goldsworthy, whose second over went for 18 runs. Cox provided impressive support as the fifth-wicket partnership reached the century mark off 13.4 overs.

Aldridge switched to the Marcus Trecothick Pavilion End to have Cox caught behind, having faced 55 balls. Kimber quickly followed, skying a catch off Jack Leach to long-on and Aldridge took a steepling caught and bowled to remove Liam Trevaskis.

Scriven provided some belligerent blows and Handscomb went to a deserved hundred by lofting Aldridge over mid-off for four, having faced 75 balls. But when he holed out to long-on off Davey with 42 still needed, Leicestershire were a spent force.