Essex 169 for 6 (Wheater 50, Dawson 3-41) beat Hampshire 168 for 6 (Bailey 89*) by four wickets
Adam Wheater returned to Hampshire to haunt his former county with a thumping 50 and boost Essex's hopes of reaching the Natwest T20 Blast quarter-finals.
Opening batsman Wheater jumped ship from the Ageas Bowl for Chelmsford at the end of the 2016 season after losing his role as wicketkeeper to Lewis McManus.
And the 27-year-old showed his previous employers what they let go as he sent Essex to just their third win on the campaign despite a career-best from George Bailey.
James Foster picked up where Wheater left off to clinch the win with a typically classy unbeaten 33 to edge the away side to the 169 needed with two balls to spare.
Hampshire's coach Giles White said: ""Adam's innings was very good, we know him very well and he's scored some bright innings for us over the years. He played some great shots. I follow him from a distance and it has looked like a tough season in some ways but he has scored a couple of good scores against us."
Wheater said: ""It was a good win and a needed win, potentially if we hadn't won this we could have been out if it. It was nice to score a half century here. I would like to say thanks to Hampshire for putting up with me for four years."
Wheater appeared to have a point to prove when he smashed Kyle Abbott out the ground before he took a fancy to Liam Dawson as he pumped him for back-to-back sixes to the short midwicket boundary.
Varun Chopra had fun of his own by clubbing Dawson over the boundary but Gareth Berg had the last laugh as he pinned Chopra leg before.
Wheater continued in his big-hitting bravura to reach a 25-ball half century, with four fours and four sixes. But without scoring another run he chopped on against Dawson.
Current Hampshire gloveman McManus pulled off a pair of brilliant catches to see off a scooping Daniel Lawrence and Ravi Bopara for a golden duck as the hosts pulled the game back slightly.
Ashar Zaidi departed after an entertaining 21 when he was stumped before Ryan ten Doeschate was bowled by Dawson, who ended with four wickets, next ball with 21 runs still required.
Foster took Essex to needing five from the last over before he appeared furious with the umpires for refusing to dock Hampshire penalty runs for failing to start the final over in time. But it didn't matter as Paul Walter struck the winning runs.
Earlier, Bailey clattered his highest T20 score of 89 to hold together a promising Hampshire total.
They started poorly when their captain James Vince was lbw to Mohammad Amir first ball, before Tom Alsop saw his stumps sent cartwheeling by Walter two overs later.
Despite the early wickets, Rilee Rossouw was hitting the ball sweetly to follow his match-winning 60 against Middlesex the previous night.
The South African clocked up a 54-run stand with Bailey before he injured his leg, and after a short stint with Vince returning as a runner, he chipped a caught and bowled effort back to Ashar Zaidi.
Sean Ervine and McManus fell in consecutive balls - the former bowled by Zaidi, the latter run out in stuttering style. Bailey, however, was in complete control, clocking Zaidi for six to accompany his crunching drives to the boundary - reaching his half-century in 41 balls.
Dawson was caught by Walter on the square-leg boundary for a swinging 18 before Bailey was dropped in consecutive balls, at point and then cover as he slogged his side to some late bonus runs.
Bailey ended up on an unbeaten 89, beating his previous high of 76, but it wasn't enough as Essex bulldozed their way to victory.