Hampshire 245 for 6 (Rossouw 85, Vince 79) beat Lancashire 241 (Jennings 63, Lehmann 62, Berg 5-26) by four wickets
A five-wicket haul to Gareth Berg contained Lancashire and, while Hampshire had to toil in a modest chase, they won the right to defend their title in the Royal London Cup final against Somerset.
Berg bowled superbly at the death to claim a career-best 5 for 26 off 6.4 overs as Lancashire were bowled out for 241 with 14 balls remaining. And it was Berg who was there at the finish, sharing a tidy cameo with James Fuller - who hit the winning runs as he drove Liam Livingstone down the ground for four after Berg had levelled the scores - for a four-wicket win and a berth in the decider at Lord's on May 25.
The match lacked the fireworks of England's thrilling 12-run ODI victory over Pakistan, which yielded 734 runs on the same pitch the previous day, but there was plenty of drama at the Ageas Bowl.
James Vince, who had sat on the sidelines a day earlier as part of the England squad when opener Jason Roy returned, and Rilee Rossouw had to steady the innings after a devastating opening spell from Saqib Mahmood had Hampshire reeling at 23 for 3.
In the closing stages, James Anderson could not finish his spell when he was struck on the inside of his left knee when Fuller slapped the ball straight back to the bowler. Hit on the full, the England Test star fell in a heap on the ground and took time to get up and when he did, he was still in some discomfort.
Mahmood claimed 3 for 11 in 17 balls to account for top-order batsmen Tom Alsop, Aneurin Donald and Sam Northeast cheaply.
As Alex Hales was posting a half-century in Nottinghamshire's losing cause against Somerset, the man vying to replace him in England's World Cup squad set about rebuilding Hampshire's prospects. Vince played a typically attractive knock for his 79 off 86 deliveries, including seven fours and an effortless six off Livingstone, which was followed immediately by a near-miss.
When he and Rossouw appeared to hesitate while dashing off for a single, Vince would have been out had Rob Jones' throw been on target. The pair chanced Jones' arm again a short time later and this time it proved Vince's downfall after he had been slow out of the blocks and Jones fired the ball in to catch him well shy of his ground.
Vince was set to join the England one-day squad in Bristol in the evening but was unsure whether he would play in the third ODI against Pakistan on Tuesday.
"There's still three games left so hopefully I can play a part in the rest of the series," Vince told Sky Sports. "I'm going to travel down tonight and train tomorrow."
With Rossouw and Liam Dawson looking settled, Hampshire needed just 43 runs of the last 10 overs. Dawson should have been out on 26 when he sent a Mahmood delivery sailing towards fine leg, where Matt Parkinson put the catch down. Parkinson made amends a short time later when bowling, however, when he had Dawson caught at backward point by Keaton Jennings for 28. Rossouw went on to reach 85 before he was bowled by Livingstone, leaving it to Berg and Fuller to negotiate the home stretch.
Earlier in the day, Ben Stokes and Jonny Bairstow appeared to be enjoying some down time, taking in the action from the balcony of the hotel overlooking the ground where they had played the previous day.
Mason Crane bowled superbly for his three wickets, while Dawson chimed in with one, as did Fidel Edwards, the 37-year-old former West Indies bowler who had originally signed a red-ball only contract but returned early from a break in the Caribbean to bolster the seamer's ranks before Hampshire's final group-stage game against Somerset last Sunday.
Crane, who became England's youngest legspinner in 2018 before a long stretch out of the game with back fractures, produced some clever bowling to claim 3 for 42 off his 10 overs, including the important wickets of Jennings, the discarded Test opener who reached 63 off 74 balls, and captain Dane Vilas for just 15.
But the day belonged to Berg, the 38-year-old veteran who ensured Lancashire never really got going again once the two-pronged spin attack of Crane and Dawson had removed Jennings and Jake Lehmann, whose valiant attempt to steady things ended on 62 off 65 balls.
Hampshire wicketkeeper Alsop took an excellent catch reaching high to his right to dismiss Steven Croft cheaply for Berg's first wicket.
Jones chewed through 62 deliveries for his 38 runs before he looked to take on a Crane slower ball that turned and was caught by Dawson at long-on.
From there Berg went on a roll, claiming two wickets in an over when he pinned Josh Bohannon down with a gem of a yorker and enticed a poor shot from Graham Onions three balls later. Berg then foxed James Anderson with a slower ball that was right on target, crashing into the top of middle stump and finished the job when Mahmood swung wildly to be caught by Vince.
Lancashire head coach Glen Chapple said Anderson would see the team physio again in the morning.
"It is a nasty blow in a painful area," Chapple said. "We don't know but we think that it will be a nasty bruise that will settle down in the next few days.
"It is a difficult area, as soon as there is any swelling in there it will restrict your movement and limit your strength. I imagine it will be painful for a few days."