Aston Villa edged a point closer to Premier League safety with a tense draw in a scrappy game against Midlands rivals West Bromwich Albion.
Gabriel Agbonlahor provided Villa's main threat throughout and was twice thwarted by Baggies keeper Ben Foster.
But the hosts were denied what appeared a blatant penalty after the break when Alan Hutton diverted Liam Ridgewell's header over the bar with his arm.
Both teams had great chances in a frantic finale, but could not convert.
West Brom's Jonas Olsson produced a superb sprawling block to keep out Ciaran Clark's shot as the match suddenly sprang into life in the final 10 minutes.
And moments later home keeper Shay Given made a magnificent save with his legs from Peter Odemwingie.
That stop ensured Villa, whose fans rounded on manager Alex McLeish after the midweek defeat against fellow strugglers Bolton Wanderers, remain three points clear of the relegation zone after Bolton's 2-2 draw with Sunderland.
But despite seeing their winless run stretch to eight games, the performance was much improved.
A West Brom side chasing a fourth win in five games and their best top-flight finish since 1981 - as well as a first double over Villa since the 1973-74 season - played with more cohesion and finished the stronger.
But it was Villa who carved out the better opportunities before the interval with Agbonlahor the main threat.
Twice the Villa striker's searing pace allowed him to get in behind right-back Billy Jones, but twice he was denied by Foster.
The England keeper dived bravely at Agbonlahor's feet after the Villa man took a heavy touch as he latched onto Emile Heskey's flick. And Foster then blocked Agbonlahor's shot when the forward outpaced Jones for a second time.
Did you know?
Aston Villa's failure to win means they will finish the season with fewer than 10 Premier League victories for the first time since the Premier League began
Chris Herd also had a great chance but could only shoot straight at Foster after some wonderful wingplay by the inspirational Richard Dunne, who was back in the side after a 10-week absence with a broken collarbone.
West Brom's only noteworthy first-half opportunity came when Given blocked Odemwingie's clever back-heeled effort.
Both teams continued to look dangerous on the break after the interval, with the excellent Agbonlahor setting up a fine chance for Charles N'Zogbia and Odemwingie seeing his strike cleared off the line by Carlos Cuellar.
But West Brom also started to pose a threat from set-pieces.
They were convinced they should have been awarded a penalty when Hutton moved his arm towards Ridgewell's goalbound effort following a corner, diverting the ball over the bar.
Villa, who had earlier claimed a spot-kick of their own when the ball skidded up and hit Chris Brunt on the arm, also claimed a penalty when Olsson slid in to block Clark's low strike. But neither shout looked as strong as West Brom's.
And a breathless conclusion, in which both teams went all out for victory, failed to bring a goal, ensuring Villa are still in danger of the drop with two games left.
West Brom manager Roy Hodgson:
"It was a strange 0-0. There were a lot of goal chances for both sides and could have ended 2-2. They are battling away for their lives.
"I believe it was a penalty [for Hutton handball]. The linesman should have had a clear view but he didn't give it. It was a penalty but these decisions do get missed.
"Villa worked hard and deserved their point. It was a fair result. Both teams will point to good chances but we should have had a penalty and Shay Given made a magnificent save from Peter Odemwingie.
"There were opportunities at both ends, but we should be happy with our tenth clean sheet of the season."
West Bromwich Albion
- 01 Foster
- 03 Olsson
- 06 Ridgewell
- 23 McAuley
- 28 Jones
- 11 Brunt
- 14 Thomas
- 17 Dorrans
- 21 Mulumbu (Andrews - 79' )
- 09 Long (Fortune - 69' )
- 24 Odemwingie
- 13 Fulop
- 20 Shorey
- 25 Dawson
- 08 Andrews
- 33 Scharner
- 31 Cox
- 32 Fortune
- 01 Given
- 02 Hutton Booked
- 03 Warnock Booked
- 05 Dunne
- 21 Clark Booked (Carruthers - 90' )
- 24 Cuellar
- 30 Lichaj
- 10 N'Zogbia (Gardner - 74' )
- 31 Herd
- 11 Agbonlahor
- 18 Heskey Booked
- 22 Guzan
- 06 Collins
- 07 Ireland
- 25 Bannan
- 38 Gardner
- 40 Carruthers
- 26 Weimann
Live Text Commentary
Full Time The referee signals the end of the game.90:00 +3:27
Effort from inside the six-yard box by Billy Jones goes wide right of the goal.90:00 +2:47
Gareth McAuley fouled by Stephen Warnock, the ref awards a free kick. Direct free kick taken by Ben Foster.90:00 +1:19
Peter Odemwingie takes a shot. Save made by Shay Given. Short corner taken by Keith Andrews. Shot by Graham Dorrans from just outside the area goes over the net.90:00 +0:30
Inswinging corner taken by Stephen Warnock, Gareth McAuley manages to make a clearance.89:44 Substitution
Substitution Ciaran Clark leaves the field to be replaced by Samir Carruthers.88:43
Effort from the edge of the area by Peter Odemwingie goes wide of the left-hand post.88:05
Ciaran Clark takes a shot. Blocked by Jonas Olsson.87:25
Carlos Cuellar fouled by Peter Odemwingie, the ref awards a free kick. Carlos Cuellar takes the direct free kick.85:58
Unfair challenge on Carlos Cuellar by Jerome Thomas results in a free kick. Direct free kick taken by Carlos Cuellar.85:22
Alan Hutton produces a cross.84:03
Free kick awarded for a foul by Keith Andrews on Gabriel Agbonlahor. Alan Hutton takes the free kick.83:16
Gabriel Agbonlahor concedes a free kick for a foul on Graham Dorrans. Keith Andrews takes the free kick.82:37
Graham Dorrans fouled by Gary Gardner, the ref awards a free kick. Direct free kick taken by Liam Ridgewell.80:37
Alan Hutton challenges Jerome Thomas unfairly and gives away a free kick. Direct free kick taken by Keith Andrews.78:47 Substitution
Substitution Keith Andrews comes on in place of Youssouf Mulumbu.77:54
Liam Ridgewell fouled by Chris Herd, the ref awards a free kick. Ben Foster restarts play with the free kick.77:11
Foul by Youssouf Mulumbu on Emile Heskey, free kick awarded. Direct free kick taken by Stephen Warnock.73:48
Corner taken by Gary Gardner from the left by-line to the near post, clearance by Youssouf Mulumbu.73:01 Substitution
Substitution Gary Gardner comes on in place of Charles N'Zogbia.
The ball is crossed by Jerome Thomas, Header from deep inside the area by Jonas Olsson goes harmlessly over the crossbar.71:57
Inswinging corner taken left-footed by Chris Brunt, Carlos Cuellar makes a clearance.71:28
Charles N'Zogbia sends in a cross, save made by Ben Foster.69:50
Peter Odemwingie fouled by Carlos Cuellar, the ref awards a free kick. Direct free kick taken by Chris Brunt.68:55 Substitution
Substitution Shane Long goes off and Marc-Antoine Fortune comes on.68:07
Peter Odemwingie takes a shot. Clearance by Stephen Warnock.67:41
Emile Heskey takes a shot. Save made by Ben Foster.67:02
Unfair challenge on Emile Heskey by Jonas Olsson results in a free kick. Richard Dunne restarts play with the free kick.62:59
Chris Brunt takes a inswinging corner from the right by-line to the near post.62:17
Free kick awarded for a foul by Chris Brunt on Stephen Warnock. Shay Given takes the direct free kick.61:24
Free kick taken by Ben Foster.61:24 Booking
Booking Emile Heskey is shown a yellow card.61:21
Gareth McAuley fouled by Emile Heskey, the ref awards a free kick.60:44
Foul by Charles N'Zogbia on Jerome Thomas, free kick awarded. Ben Foster takes the free kick.60:08
Unfair challenge on Chris Herd by Peter Odemwingie results in a free kick. Free kick taken by Richard Dunne.58:34
Ben Foster takes the free kick.58:34 Booking
Booking The referee shows Ciaran Clark a yellow card.58:33
Free kick awarded for a foul by Ciaran Clark on Chris Brunt.56:26
The ball is crossed by Billy Jones, Alan Hutton manages to make a clearance.55:47
Charles N'Zogbia takes a shot. Ben Foster makes a save.54:52
Liam Ridgewell fouled by Charles N'Zogbia, the ref awards a free kick. Ben Foster restarts play with the free kick.51:57
Free kick awarded for a foul by Shane Long on Stephen Warnock. Carlos Cuellar takes the direct free kick.51:17
The referee blows for offside against Emile Heskey. Direct free kick taken by Ben Foster.50:35
The referee blows for offside. Shay Given takes the direct free kick.47:55
Inswinging corner taken from the left by-line by Graham Dorrans, Liam Ridgewell takes a shot. Clearance by Stephen Warnock. Inswinging corner taken right-footed by Chris Brunt from the right by-line, Header by Gareth McAuley from deep inside the penalty area misses to the left of the goal.45:01
The second half begins.45:00 +0:57 Half time
Half Time The ref blows to signal half-time.45:00 +0:45
The ball is sent over by Billy Jones, clearance by Richard Dunne.44:02
The ball is swung over by Alan Hutton, clearance by Youssouf Mulumbu.41:52
The free kick is delivered right-footed by Graham Dorrans from left wing, clearance by Emile Heskey. Corner taken left-footed by Chris Brunt, Richard Dunne makes a clearance.41:52 Booking
Booking Alan Hutton receives a caution.41:46
Free kick awarded for an unfair challenge on Jerome Thomas by Alan Hutton.39:15
The assistant referee flags for offside against Jerome Thomas. Shay Given takes the direct free kick.38:51
Emile Heskey challenges Gareth McAuley unfairly and gives away a free kick. Jonas Olsson takes the direct free kick.37:56
Inswinging corner taken by Chris Brunt, Foul by Liam Ridgewell on Ciaran Clark, free kick awarded. Shay Given restarts play with the free kick.35:27
Shot comes in from Graham Dorrans from the free kick, clearance by Chris Herd.35:27 Booking
Booking Booking for Stephen Warnock.35:24
Free kick awarded for a foul by Stephen Warnock on Shane Long.33:46
A cross is delivered by Chris Brunt, Ciaran Clark makes a clearance. Corner taken left-footed by Chris Brunt to the near post, clearance made by Eric Lichaj.32:39
Gabriel Agbonlahor takes a shot. Blocked by Ben Foster.30:46
The ball is sent over by Eric Lichaj, Headed effort from deep inside the penalty area by Emile Heskey misses to the right of the target.26:55
The official flags Chris Herd offside. Ben Foster restarts play with the free kick.26:09
Shot from just outside the penalty area by Peter Odemwingie misses to the left of the target.25:24
Emile Heskey challenges Chris Brunt unfairly and gives away a free kick. Ben Foster takes the direct free kick.24:20
Chris Herd takes a shot. Save made by Ben Foster.23:59
Eric Lichaj fouled by Chris Brunt, the ref awards a free kick. Eric Lichaj takes the direct free kick.23:36
Shane Long handles the ball and concedes a free kick. Shay Given takes the free kick.20:56
Billy Jones fouled by Richard Dunne, the ref awards a free kick. Chris Brunt delivers the ball from the free kick left-footed from right wing, Richard Dunne makes a clearance. Corner taken left-footed by Chris Brunt from the right by-line, Jonas Olsson takes a shot. Clearance made by Alan Hutton.19:34
Charles N'Zogbia produces a cross.18:19
Chris Brunt challenges Ciaran Clark unfairly and gives away a free kick. Carlos Cuellar takes the direct free kick.16:43
Youssouf Mulumbu gives away a free kick for an unfair challenge on Emile Heskey. Free kick taken by Eric Lichaj.16:07
Charles N'Zogbia has an effort at goal from the edge of the area that misses to the right of the target.14:50
Free kick awarded for a foul by Liam Ridgewell on Charles N'Zogbia. Charles N'Zogbia crosses the ball in from the free kick, clearance by Chris Brunt.14:08
Emile Heskey is flagged offside by the assistant referee. Free kick taken by Ben Foster.13:41
Chris Brunt takes a shot. Shay Given makes a save.11:39
Corner taken by Graham Dorrans from the left by-line played to the near post, Richard Dunne manages to make a clearance.10:12
Gabriel Agbonlahor is flagged offside by the assistant referee. Free kick taken by Ben Foster.9:44
Eric Lichaj fouled by Peter Odemwingie, the ref awards a free kick. Direct free kick taken by Shay Given.9:16
Shane Long takes a shot. Carlos Cuellar makes a clearance.8:49
Peter Odemwingie is caught offside. Shay Given takes the free kick.7:09
The ball is delivered by Stephen Warnock.4:23
Corner taken by Charles N'Zogbia played to the near post, Close range effort by Gabriel Agbonlahor goes over the bar.1:21
Free kick awarded for a foul by Stephen Warnock on Billy Jones. Gareth McAuley restarts play with the free kick.0:32
Chris Herd is adjudged to have handled the ball. Direct free kick taken by Jerome Thomas.0:00
The match has kicked off.
Live data and text provided by our data suppliers