West Ham desperately missed the injured Carlton Cole up front, with his young replacement Hines suffering something of a reality check after the euphoria that surrounded his last-gasp winner against Aston Villa in midweek - the Hammers' first victory in the league since the opening day.
The 20-year-old had looked nervous in the early stages, dithering badly on two occasions after being sent free through the inside-left channel.
Guillermo Franco was unlucky to see a glancing effort drift wide from a driven Julien Faubert cross, while Scott Parker bundled his way through and tested Tim Howard.
But it was obvious that both teams were struggling for form, as a series of long balls and niggling fouls added up to a scrappy opening period.
Moyes pleased with Everton victory
Parker controlled proceedings impressively from central midfield but him aside, the standard in the first half was indicative of two teams in such a rut.
Everton needed a spark from somewhere to force their way into the game, and one was soon provided by a familiar source.
Cahill picked up a loose ball on the edge of the West Ham area and laid back to Saha, who drilled low and powerfully into the bottom corner.
It gave the visitors a scarcely deserved lead, with an upbeat Upton Park crowd suddenly stunned into silence.
The Hammers at least upped the intensity of their play after the break although Luis Jimenez failed to control after being set free by Faubert.
Hibbert's sliced own goal gave West Ham renewed hope in the second half
Everton, meanwhile, were equally struggling to create anything of note at the other end, and their efforts were not helped when Saha was forced off with an apparent recurrence of his calf strain.
The game finally burst into the life midway through the second half when Gosling increased Everton's lead.
Yakubu - on for Saha - slipped the ball through to the youngster who saw his first effort well saved by Green.
But the West Ham keeper, who was playing in his 100th consecutive league game, was unable to keep out the follow-up.
If anything, the second goal reinvigorated the hosts, who burst forward with much more purpose and reduced the deficit within 85 seconds.
Alessandro Diamanti fed Junior Stanislas who chipped the advancing Tim Howard. Hibbert appeared to have the ball covered, but in attempting to clear only managed to slice dismally into his own net.
Hammers loss 'tough' to accept - Zola
Hines had two superb chances to level soon after but dragged his shot wide having been sent clear by Parker, and again following a mix-up in the Everton defence.
And the Toffees had their hearts in their mouths once more in the dying moments when Parker, again the creator, teased the ball into the six yard box.
Franco arrived at pace but slipped at the crucial moment - leaving the West Ham fans, and manager, totally exasperated.
Zola claimed his side had turned a corner after the late win against Villa on Wednesday, but on this evidence the Italian may have to think again.
West Ham manager Gianfranco Zola: "It's tough for me and for the players. The guys gave everything until the end but we need to sort out the little problems because they're costing us a lot.
"It's not the first time we've been a goal down late on. We just need to make sure we're not chasing the game all the time.
"I think we should have had at least a draw but it didn't happen. We're just going to have to work even harder now. We know it's a difficult season and we will work until the end."
Everton manager David Moyes: "We could have done better but the one thing we do at Everton is know how to win. It might not be the best way but we know how to do it.
"We didn't start well and West Ham were on top. But when Louis (Saha) gets chances he puts them away. It was important for him because he's had a calf injury.
"When we went 2-0 up you could have said it was a perfect away performance but not in the last 30 minutes. We needed every hand to the pump to get through it because West Ham put us under a lot of pressure.
"We know we can play a lot better than we've been doing. We've had some injury problems but we've had to get the job done with the players available and thankfully, we did."
90:00+5:12 The referee blows for the end of the match.
90:00+3:44 Guillermo Franco is flagged offside by the assistant referee. Tim Howard restarts play with the free kick.
90:00+3:02 Guillermo Franco takes a shot. Lucas Neill gets a block in.
88:21 Alessandro Diamanti has an effort at goal from a long way out that goes wide left.
87:23 Scott Parker takes a shot. Jack Rodwell gets a block in.
86:11 Alessandro Diamanti has an effort at goal and missed to the left of the target.
85:06 Jack Rodwell takes a shot. Matthew Upson gets a block in. Inswinging corner taken by Leighton Baines from the right by-line,
clearance made by Matthew Upson.
82:25 Corner taken by Junior Stanislas from the left by-line, clearance by Joseph Yobo.
80:56 Unfair challenge on Alessandro Diamanti by Marouane Fellaini results in a free kick. Scott Parker takes the free kick. Alessandro
Diamanti has an effort at goal from outside the area missing to the wide right of the target.
79:24 Zavon Hines is adjudged to have handled the ball. Tim Howard restarts play with the free kick.
77:47 Tim Cahill concedes a free kick for a foul on Valon Behrami. Free kick taken by Alessandro Diamanti.
76:30 Direct strike on goal from the free kick comes in from Alessandro Diamanti, save by Tim Howard.
76:30 Booking Joseph Yobo goes into the referee's book for unsporting behaviour.
76:20 Unfair challenge on Zavon Hines by Joseph Yobo results in a free kick.
75:38 Substitution (Everton) makes a substitution, with Lucas Neill coming on for Dan Gosling.
75:11 Effort from inside the area by Zavon Hines misses to the right of the goal.
74:38 Unfair challenge on Marouane Fellaini by Matthew Upson results in a free kick. Free kick taken by Joseph Yobo.
74:05 Effort from the edge of the box by Zavon Hines goes wide of the left-hand upright.
73:48 Foul by Marouane Fellaini on Jonathan Spector, free kick awarded. Matthew Upson takes the indirect free kick.
72:58 Ayegbeni Yakubu takes a shot. Robert Green makes a comfortable save.
72:34 Free kick awarded for an unfair challenge on Marouane Fellaini by Manuel Da Costa. Johnny Heitinga takes the direct free kick.
71:58 Shot by Alessandro Diamanti from deep inside the penalty area misses to the left of the goal.
68:13 Free kick awarded for an unfair challenge on Scott Parker by Marouane Fellaini. Indirect free kick taken by Valon Behrami.
67:23 Direct free kick taken by Alessandro Diamanti.
67:23 Booking Johnny Heitinga receives a caution for unsporting behaviour.
67:10 Foul by Johnny Heitinga on Valon Behrami, free kick awarded.
64:48 Assist on the goal came from Junior Stanislas.
64:48 GOAL - Tony Hibbert:West Ham 1 - 2 Everton Tony Hibbert puts the ball into his own net from 6 yards. West Ham 1-2 Everton.
Correction - 64:47 Junior Stanislas takes a shot. Tony Hibbert gets a block in.
64:47 Junior Stanislas takes a shot. Blocked by Tony Hibbert.
63:23 Dan Gosling takes a shot. Blocked by Robert Green.
63:22 GOAL - Dan Gosling:West Ham 0 - 2 Everton Dan Gosling scores a goal from close in low into the middle of the goal. West Ham 0-2 Everton.
62:24 Unfair challenge on Tim Cahill by Valon Behrami results in a free kick. Direct free kick taken by Sylvain Distin.
61:41 Scott Parker takes a shot. Blocked by Sylvain Distin. Junior Stanislas has a shot on goal from outside the box which misses
58:51 Alessandro Diamanti decides to take the corner short. Shot from just outside the penalty box by Scott Parker misses to the
left of the target.
57:20 Free kick awarded for a foul by Julien Faubert on Marouane Fellaini. Direct free kick taken by Leighton Baines.
56:01 Substitution Ayegbeni Yakubu joins the action as a substitute, replacing Louis Saha.
56:01 Substitution Alessandro Diamanti comes on in place of Luis Jimenez.
53:17 Free kick awarded for a foul by Manuel Da Costa on Louis Saha. Joseph Yobo restarts play with the free kick.
51:08 Free kick awarded for a foul by Zavon Hines on Tim Cahill. Sylvain Distin restarts play with the free kick.
50:01 Manuel Da Costa takes the free kick.
50:01 Booking The referee shows Marouane Fellaini a yellow card.
49:52 Marouane Fellaini gives away a free kick for an unfair challenge on Valon Behrami.
47:22 Free kick taken by Junior Stanislas.
47:22 Booking Tony Hibbert is booked.
47:13 Unfair challenge on Zavon Hines by Tony Hibbert results in a free kick.
46:04 Junior Stanislas decides to take a short corner.
45:31 Free kick awarded for a foul by Johnny Heitinga on Scott Parker. Julien Faubert restarts play with the free kick.
45:01 The second half begins.
45:01 Substitution Jack Collison goes off and Junior Stanislas comes on.
45:00+3:16 The first half comes to an end.
45:00+2:06 Luis Jimenez takes the free kick. Manuel Da Costa takes a shot from long distance which goes wide of the right-hand post.
45:00+2:06 Booking Jack Rodwell shown a yellow card.
45:00+1:44 Jack Rodwell challenges Jack Collison unfairly and gives away a free kick.
45:00+1:03 Scott Parker decides to take a short corner. Luis Jimenez takes a inswinging corner from the left by-line played to the near
post, Johnny Heitinga makes a clearance.
44:53 Tim Cahill takes a shot. Save by Robert Green.
43:48 Corner taken by Leighton Baines played to the near post, clearance made by Guillermo Franco.
42:31 Outswinging corner taken by Dan Gosling, Header by Louis Saha from deep inside the penalty area misses to the right of the
39:54 Shot from just outside the box by Dan Gosling goes over the bar.
38:24 Free kick awarded for a foul by Marouane Fellaini on Guillermo Franco. Luis Jimenez has an effort direct from the free kick,
save made by Tim Howard.
36:04 Free kick awarded for a foul by Tim Cahill on Julien Faubert. Valon Behrami crosses the ball in from the free kick, clearance
made by Tony Hibbert.
34:19 Foul by Guillermo Franco on Marouane Fellaini, free kick awarded. Jack Rodwell takes the direct free kick.
30:48 Marouane Fellaini gives away a free kick for an unfair challenge on Scott Parker. Scott Parker takes the free kick.
29:12 Handball decision goes against Marouane Fellaini. Indirect free kick taken by Scott Parker.
28:50 Free kick awarded for an unfair challenge on Tony Hibbert by Luis Jimenez. Tony Hibbert restarts play with the free kick.
28:29 Valon Behrami fouled by Marouane Fellaini, the ref awards a free kick. Indirect free kick taken by Manuel Da Costa.
26:44 Assist by Tim Cahill.
26:44 GOAL - Louis Saha:West Ham 0 - 1 Everton Louis Saha scores a goal from outside the penalty area to the bottom left corner of the goal. West Ham 0-1 Everton.
26:04 Zavon Hines is caught offside. Tim Howard takes the indirect free kick.
25:16 Unfair challenge on Guillermo Franco by Tony Hibbert results in a free kick. The free kick is swung in right-footed by Luis
Jimenez, Jack Rodwell makes a clearance.
20:25 Foul by Guillermo Franco on Sylvain Distin, free kick awarded. Sylvain Distin restarts play with the free kick.
19:15 Scott Parker takes a shot. Save by Tim Howard.
17:47 Dan Gosling takes a outswinging corner.
17:10 Unfair challenge on Leighton Baines by Luis Jimenez results in a free kick. Free kick taken by Johnny Heitinga.
12:15 The ball is delivered by Marouane Fellaini, Headed effort from deep inside the area by Louis Saha misses to the left of the
8:35 Jack Collison fouled by Marouane Fellaini, the ref awards a free kick. Free kick taken by Scott Parker.
7:34 Free kick awarded for a foul by Johnny Heitinga on Valon Behrami. Indirect free kick taken by Manuel Da Costa.
7:12 A cross is delivered by Julien Faubert.
5:00 Free kick awarded for an unfair challenge on Sylvain Distin by Valon Behrami. Tim Howard takes the free kick.
1:54 Julien Faubert concedes a free kick for a foul on Tim Cahill. Leighton Baines takes the direct free kick.
0:47 Foul by Tim Cahill on Valon Behrami, free kick awarded. Manuel Da Costa takes the indirect free kick.
0:00 The referee starts the match.
Live text and data provided by The Press Association.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.