Westley (93) and Alastair Cook (39) put on 102 runs together before Liam Dawson (2-40) bowled Cook to leave them 103-2.
Varun Chopra (26) and Adam Wheater (30) made contributions before Ashar Zaidi smashed 72 not out off 40 balls to give Essex a competitive score of 304-7.
James Vince (68) and George Bailey (63) gave Hampshire a chance, but they lost regular wickets to end on 279.
Hampshire beat Kent to open their One-Day Cup campaign with a win on Thursday and started perfectly when Reece Topley bowled Nick Browne with his third ball, but Essex made progress through former England Test captain Cook and Westley.
The duo gave them a platform but the away side fought back to reduce Essex to 195-6, when Gareth Berg ran out captain Ryan ten Doeschate for just two runs.
That brought Zaidi to the crease and the all-rounder counter-attacked to great effect, hitting four sixes and six fours to push Essex's total beyond 300.
Essex top scorer Tom Westley told BBC Radio Essex:
"That's the beauty of Ash. It was a game-changing innings. He is made for those situations.
"Him and Tendo (ten Doeschate) coming in with 15-20 overs to go is very dangerous for the opposition but brilliant for us.
"The wicket of Bailey was crucial and Ravi getting Vince out was key as well because they had a nice partnership going."
Hampshire captain James Vince told BBC Solent:
"We weren't at our best. The main difference was we didn't have someone to go on and get a big score. Ideally you go on and get 80 or 100.
"I don't think 305 was a lot to chase. The way the boundaries are here, and it was a pretty good pitch, at the halfway stage we would have taken that.
"With the boundaries as small as they are, a few were leading edges went for six. That can happen.  e'll take this one on the chin and hopefully bounce back against Middlesex on Wednesday."
Tom Westley starred as Essex clinched a first One-Day Cup win of the season by beating Hampshire by 25 runs.