Somerset returned to winning ways in the Yorkshire Bank 40 when they beat Glamorgan by three wickets with 10 balls to spare.
Responding to Glamorgan's 245-9, which included an unbeaten 75 from Ben Wright, the hosts looked well placed as Peter Trego hit 72 and Dean Elgar made 51, but they slipped to 203-7 before Craig Meschede and Max Waller both hit career bests to see Somerset home.
After being put into bat, Glamorgan openers Will Bragg and Mark Wallace added 31 before Meschede had Wallace caught by wicketkeeper Barrow.
Jamie Overton entered the attack in dramatic fashion with two wickets in his first over. His first delivery had Chris Cooke caught at short mid-wicket by Elgar and four balls later, Bragg (26) clipped him to Trego at third man.
Meschede claimed his second wicket when Jim Allenby edged a wider one which Barrow dived to catch with his right hand.
Waller tightened Somerset's grip on proceedings when Murray Goodwin drove him straight to James Hildreth at short mid-wicket and the visitors found themselves on 97 for five in the 21st over.
Marcus North drove Overton to the boundary but on 46 was caught at gully by Hildreth. When Wagg was run out by Waller with a direct hit in the 30th over Glamorgan were on 143-7 as Dean Cosker came to the wicket to join Wright.
The eighth-wicket partnership was worth 89 when Elgar brought it to an end, Cosker caught at mid-off by Overton for 37. Three balls later Elgar had Michael Hogan caught at long on by Hildreth as Glamorgan ended their innings, Wright not out 75 from 57 balls.
In reply, Marcus Trescothick and Trego added 41 before the Somerset captain was caught at mid-off from the bowling of Wagg for 13.
Nick Compton scored four before being caught at first slip trying to cut Simon Jones. Trego went to his 50 with three consecutive fours off Cosker as he and Elgar started to dominate proceedings.
Elgar brought up the Somerset 100 with a lofted boundary off Allenby. Trego had moved onto 72 when he was bowled by North, his third-wicket partnership with Elgar adding 95 runs.
Elgar went to his maiden Somerset 50 in the 27th over but one run later was caught at deep mid-wicket by Wright off Cosker. Hildreth was lbw five balls later and Cosker (3- 41) struck again with the first delivery of his next over when Suppiah was bowled for six.
Meschede hit 24 off the 33rd over bowled by Jones, which included two sixes to bring Somerset right back into the game.
When Barrow was bowled by Wagg, the young all-rounder was joined by Waller and the pair stayed at the wicket together to see Somerset to 246 by which time Meschede was unbeaten on 40, with Waller not out 25.