Glamorgan 170 for 4 (Ingram 96) beat Somerset 167 for 8 (Trego 39) by three runs
Ingram 's 62-ball innings was the highlight of Glamorgan's 170 for 4, and no Somerset batsman was able to play the major innings required as the hosts finished on 167 for 8.
Tim Groenewald nearly snatched victory for Somerset with an unbeaten 27 from nine balls, which included three sixes. However, with 12 needed off the last over, Parnell kept the hosts to eight runs and bowled Abdur Rehman with the penultimate ball of the match.
It was Parnell's his final appearance for Glamorgan before he joins up with South Africa in Bangladesh.
After being put into bat, Glamorgan's innings was dominated by Ingram, who took advantage of the short boundaries to plunder nine fours and six sixes on his way to his highest score for the Welsh county.
Craig Meschede, who is on a season-long loan to Glamorgan from Somerset, departed to the third ball of the innings when he was caught at cover by Tom Cooper off Jim Allenby for a duck.
But Ingram, who had a short spell with Somerset last year, was quickly into his stride and took 18 runs off four successive balls from Alfonso Thomas, as he followed a six over extra cover with three fours, one swept behind square and two hit straight down the ground.
Ingram reached a 27-ball half-century in the eighth over, but his partnership of 64 with Jacques Rudolph ended when his fellow South African top-edged a pull off Jamie Overton to long leg, where Rehman held an excellent catch on the run.
Rehman bowled four tidy overs of spin for 30 and was rewarded with the wicket of Chris Cooke, who pulled a delivery into the hands of Pete Trego on the midwicket boundary to make it 110 for 3 in the 13th over.
Graham Wagg helped Ingram add 60 in the final seven overs, but the South African was denied a century when he skied the last ball of the innings from Thomas to Cooper at extra cover. Wagg finished unbeaten on 33 from 25 balls.
Somerset's chase suffered a setback in the first over when former Glamorgan allrounder Allenby was bowled by Parnell for 4. Johann Myburgh departed in the final over the Powerplay, caught by Dean Cosker at backward point off Wagg for 19, and it became 83 for 3 in the 11th over when Trego, having hit 39 from 31 balls, skied a drive off Meschede to Michael Hogan at long-on.
Slow left-armer Cosker accounted for James Hildreth, caught at backward point by Rudolph for 23, and the game looked to have taken a decisive turn when New Zealander Luke Ronchi, on his home debut for Somerset, and Cooper departed to successive balls of the 17th over, bowled by Hogan.
Ronchi was caught on the midwicket boundary by David Lloyd for seven and Cooper holed out to Ingram at long-on for 26.
It was 139 for 7 in the 18th over when Overton was caught just inside the midwicket boundary rope for 10, and 28 were required from the final two overs.
Groenewald raised the prospect of a Somerset win with two successive straight sixes off Hogan in the 19th over, but Parnell's last over, consisting mainly of yorker-length deliveries, sealed Glamorgan's fifth win and handed a Somerset a fourth defeat.