An Issac Luke close-range scoot in the 75th minute sealed the result, after they had earlier regained the lead through a Jazz Tevaga try.
It wasn't a match high on quality, with mistakes aplenty from both teams, but didn't lack drama.
The visitors showed impressive grit to hang on in the second half and had to weather a stint with 12 men as Isaiah Papali'i was sinbinned.
They had to cope without strike weapons Roger Tuivasa-Sheck and Shaun Johnson, and their forwards struggled to gain any ascendancy for the second consecutive week.
Peta Hiku did a decent job at fullback — apart from one brain snap midway through the second half — and Gerard Beale looked solid in his return to NRL action.
The result means the Warriors are back on track. The game won't make many end-of-season highlight reels but the victory was vital.
It cements their place in the top four and continues their win-loss pattern since early last month.
The Eels, a shadow this year of the side that impressed so much last season, started with some promise with early penalties but soon unravelled.
They made four errors in the first quarter alone, often due to Warriors pressure.
David Fusitu'a — who else? — opened the scoring for the Warriors in the 10th minute, finishing with one of his gravity-defying leaps in the corner after a sharp pass from Mason Lino.
Stephen Kearney's team extended their lead 10 minutes later, with Lino again prominent. His crossfield kick eventually found its way to Hiku, who slipped over, then slipped down the narrowest of channels to score. That should have been the platform to launch, with the Eels in some disarray, but it never quite happened.
Momentum swung back towards Parramatta, as the Warriors gave away a succession of penalties, which culminated in the sin-binning of Papali'i. It seemed a little harsh, as the young second rower hadn't been a repeat offender, but reflects the refereeing policy this year.
The Warriors did well to concede only one try in his absence, with some brilliant last-ditch tackles, but struggled to reassert their ascendancy.
The Warriors led 12-2 at the break but things got ragged for much of the second half, with cheap penalties, poorly-judged offloads, forward passes and other silly errors.
They made it hard for themselves, and the Eels gained belief, with Clint Gutherson crossing early in the second half.
Another mistake — with Hiku getting pushed over the sideline — led to Manu Ma'u punching through a gap close to the line to put the Eels ahead 14-12 in the 61st minute.
The Warriors were somewhat fortunate to regain the lead, with a Blake Green grubber bouncing freakishly into Tevaga's hands with 13 minutes to play.
There were some nervy moments, as the Warriors clung to a four-point lead. A questionable piece of sportsmanship by Will Smith, as he milked a dummy half penalty by bouncing the ball on a prone Luke, was followed by an equally baffling refereeing decision.
It was a flashpoint, putting the Eels on attack before a karmic error by Smith. Luke, clearly fired up, showed great strength and determination to drive over and seal a crucial result.
Warriors 24 (D Fusitu'a, P Hiku, J Tevaga, I Luke tries; M Lino pen, 3 cons)
Eels 14 (C Gutherson, M Ma'u try, M Moses pen, 2 con)
Halftime: 12-2