Everton 1-1 Wolverhampton Wolves
Sylvan Ebanks-Blake struck in the 75th minute to salvage a 1-1 draw for Wolves and leave Everton searching for their first win of the season.
With Moyes' men desperate to claim the three points, they poured forward, with both Cahill and substitute Louis Saha coming close, but the visitors' smash-and-grab point was secure.
Mick McCarthy's men had barely mustered an attack of note until their goal as Moyes' men showed every sign of atoning for last week's miserable defeat at Blackburn.
Diniyar Bilyaletdinov looked bright in the early stages and hathe first real chance for the home side after five minutes when he booted Mikel Arteta's half-cleared free-kick over the bar.
In the best chance negative Wolves had to offer, Matt Jarvis fired in a long-range free-kick which was easily held by Tim Howard, who for much of the game was a virtual passenger.
Neat work from Tim Cahill down the right played Sylvain Distin into the box in the 16th minute but the impressive Jody Craddock swept the ball off his toes.
As the home side continued to press, it was Leighton Baines' turn to curl a set-piece inches over the bar after Karl Henry was adjudged to have hauled down Steven Pienaar.
For all their attacking intent Everton were repeatedly let down with the final ball, with Cahill the offender on 22 minutes after a weak cross which was cleared by George Elokobi.
The home side had their best chance in the 25th minute when John Heitinga smashed a shot from 25 yards which was acrobatically tipped over the bar by Marcus Hahnemann.
Pienaar came close on 35 minutes with a rising shot which just cleared the bar, then Elokobi plucked the ball off Cahill's toes in the box and referee Lee Mason waved away penalty appeals.
The first half threatened to end in controversy when replays clearly showed Mikel Arteta had been fouled by Stephen Ward in the box, only for referee Lee Mason to award a free-kick.
But it hardly mattered as moments later Arteta's low set-piece struck the Wolves wall and rebounded for Cahill to slam left-footed into the roof of the net.
It was business as usual after the break with the home side showing all the attacking intent and going close through Jermaine Beckford who slipped while shooting in the box.
Then Bilyaletdinov missed a simple chance to grab a second goal when the busy Cahill headed down in the box and the Russian completely miskicked with only Hahnemann to beat.
In an all-too-rare foray forward, Wolves won a corner in the 63rd minute which Jarvis fired in low but Craddock could only find the sidenetting with his attempted back-heel flick-on.
Beckford should have done better on a swift counter-attack in the 71st minute, but after racing half the length of the pitch he allowed Ward to get in a saving tackle.
Wolves found their equaliser out of nowhere and there was an air of controversy about it after substitute Adlene Guedioura won the ball in a hard challenge on Heitinga.
Guedioura then released Kevin Doyle to charge down the right and with the home defence nowhere he hit a low cross for Ebanks-Blake to sweep home from close range.
Moyes made a double substitution in a desperate bid to claim back the points. Cahill went close with an attempted flick, and then Saha headed on to the roof of the net.