Paul Lambert's side had suffered six straight defeats since winning at Liverpool in mid-September to plummet down the table.
However, Villa produced a determined, defensive display at the Boleyn Ground, where goalkeeper Brad Guzan denied Andy Carroll - back from an ankle injury - with a brilliant save in stoppage time to frustrate the Hammers, who had been looking to move back up into the top four following their impressive run of form.
Irons manager Sam Allardyce, who had called for patience in the build-up to the game, saw his side make a positive start, with Mark Noble heading a deep cross from the right over and a free-kick from Enner Valencia deflected behind.
Villa had set themselves up to be hard to break down, while also offering a forward threat through Andreas Weimann and Charles N'Zogbia, supported by Gabriel Agbonlahor, who came in for Christian Benteke, the Belgian starting a three-match ban after his red card against Spurs.
The former England man darted into the West Ham box past James Collins, but then lifted his shot over the crossbar.
At the other end, the Irons defender then sent a powerful header goalwards from a corner, which was straight at a grateful Guzan.
West Ham maintained the pressure as the quarter-hour mark approached, but then almost hit the self-destruct button on 18 minutes as Winston Reid overhit a backpass, which goalkeeper Adrian mis-controlled and the ball almost rolled inside the far post.
It was then the turn of Guzan to enjoy a slice of fortune as he came out to punch a highball into the box from Aaron Cresswell, but clattered into Aly Cissokho as he challenged with Diafra Sakho, the ball dropping wide.
The American, though, showed good hands moments later as he beat away a fierce, angled drive from Stewart Downing, the one-time Villa midfielder just recalled to the England squad.
Villa remained dangerous on the break, and went close on 38 minutes.
N'Zogbia ghosted into the left side of the West Ham penalty area, and rolled the ball back to Andreas Weimann, who moved inside before drilling a 15-yard strike straight at Adrian.
In first-half stoppage time, West Ham worked the ball well from the right along the Villa penalty area out to Downing on the left - but the midfielder could only skew his shot into the side netting.
Weimann threatened for Villa just after the restart, lifting a rising shot over following more positive approach play from Agbonlahor.
Allardyce sent on captain Kevin Nolan after 65 minutes, replacing Cheikhou Kouyate.
Tempers were rising, with Villa midfielder Tom Cleverley booked for clattering into Diafra Sakho, fit again following a shoulder injury, before Weimann was shown a yellow card for dissent.
Adrian was alert to kick the ball away after Nolan's clearance ricocheted back into the six-yard box.
West Ham broke away down the right on 78 minutes through substitute Carlton Cole, who chipped the ball across to Sakho waiting on the penalty spot, but the usually clinical Senegal forward dropped a header wide.
There was a stoppage when Villa defender Nathan Baker went down in his own penalty area after clattering into Cole, with referee Jon Moss awarding a free-kick against the West Ham striker - much to the frustrations of home players and fans alike.
The injury, though, was serious enough for the Villa man to be carried off on a stretcher, replaced by Philippe Senderos.
West Ham looked for a winner, as full-back Carl Jenkinson headed straight at the keeper, with Guzan then denying Carroll - on at the start of four minutes added time - as he palmed away a point-blank header from the England forward to earn Villa a well-deserved point.
Source : PA