Norwich and Fulham played out a dismal draw at Carrow Road as the Canaries' winless run extended to nine games.
City's new signing Luciano Becchio had a good chance for a debut goal after just five minutes but fired straight at Cottagers' keeper Mark Schwarzer.
It turned out to be one of the only clear-cut opportunities in a game between two sides struggling for form.
Steve Sidwell's 20-yard drive was Fulham's best effort, but they can take heart from a first clean sheet in 12.
When Fulham thumped the Canaries 5-0 on the opening day of the season, few would have predicted they would be neck-and-neck in the table come February.
Norwich's horror run
After going 10 games unbeaten up until 15 December, the second best record in European football at the time, Norwich have gone nine league games without a win and been knocked out of the FA Cup by non-league Luton.
But the two sides are both on 29 points after a result that edges them ever so slightly closer to Premier League safety.
Both teams extend the gap from the relegation places to eight points, although Norwich boss Chris Hughton may have greater cause for concern.
After going 10 games unbeaten before Christmas, they are now on a winless streak almost as long.
Their predicament has been caused mainly by a lack of firepower, having scored just once in their last six matches.
Argentine striker Becchio was signed in January to improve the Canaries' goalscoring form, and an early chance fell his way, but his shot from 10 yards was easily dealt with by Schwarzer.
As it transpired, the former Leeds man wouldn't have a better opportunity all afternoon.
The only other notable strike of a dire first half was a high kick from Bradley Johnson that hit Dimitar Berbatov in the forehead, forcing him temporarily off the field for stitches.
The elegant Bulgarian seemed more offended by some of the efforts of his own team-mates, whose sloppy passing - especially from defence - curtailed most attacking forays before they had caused any damage.
Luciano Becchio's early chance proved to be the closest we came to a goal. Real opportunities were few and far between at either end, but it's a valuable point for both sides.
Fulham began with greater purpose after the break, Sidwell forcing their first shot on target with a powerful strike that was parried by Mark Bunn.
But Norwich weathered the small storm and the match soon looked every bit a contest between two out-of-form teams, at times resembling a war of attrition.
Elliott Bennett and Robert Snodgrass huffed and puffed trying to create something for the hosts, but with Becchio comfortably marshalled by Fulham's experienced centre-backs, clear openings were rare.
Norwich finished the stronger, with Elliott Bennett having a shot blocked and Johnson scuffing a chance wide, but the final 0-0 scoreline was a fair reflection of the game.
Norwich manager Chris Hughton: "Fulham have a lot of quality in their side, but we are disappointed because we are at home and the emphasis was to look to get three points.
"We did not have enough in the final third and lacked that bit of quality, but it is a point and if you cannot win these games, you certainly have to make sure you do not lose them.
"The (lack of goals) is a concern, and it has to be, but we also have to look at the positives.
"We have managed to stop a poor run, albeit not with wins."
Fulham boss Martin Jol on Dimitar Berbatov having to go off for treatment after being hit by Bradley Johnson's high boot: "I get very irritated by that, when someone kicks you and you have to go off for five minutes.
"Later, Hugo Rodallega was also kicked and he had to go off, and they played again with 11 against 10.
"We have got to change that because it is an awful rule. You should send their player away as well for five minutes and play 10 against 10."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +3:41
Unfair challenge on Simeon Jackson by Stanislav Manolev results in a free kick. Free kick crossed left-footed by Javier Garrido from left wing, clearance made by Dimitar Berbatov.90:00 +2:59
Corner taken left-footed by Damien Duff.90:00 +2:35
A cross is delivered by Stanislav Manolev, Russell Martin manages to make a clearance. Urby Emanuelson takes a shot from 18 yards. Blocked by Bradley Johnson.90:00 +1:21
Javier Garrido gives away a free kick for an unfair challenge on Ashkan Dejagah. The free kick is delivered left-footed by Damien Duff from right wing, Michael Turner makes a clearance.90:00 Substitution
Substitution Bryan Ruiz goes off and Ashkan Dejagah comes on.90:00
Kei Kamara concedes a free kick for a foul on Mark Schwarzer. Mark Schwarzer takes the free kick.89:39
Simeon Jackson has an effort at goal from 18 yards. Blocked by Brede Hangeland.88:54
Inswinging corner taken left-footed by Robert Snodgrass, clearance made by Brede Hangeland.88:46
The ball is crossed by Bradley Johnson, John Arne Riise manages to make a clearance.87:36
The ball is delivered by Mladen Petric, save by Mark Bunn.86:27
The ball is swung over by Javier Garrido, Header from deep inside the area by Kei Kamara goes over the bar.86:27 Booking
Booking Stanislav Manolev booked for unsporting behaviour.86:23
Stanislav Manolev gives away a free kick for an unfair challenge on Wesley Hoolahan.85:42 Substitution
Substitution (Norwich) makes a substitution, with Kei Kamara coming on for Luciano Becchio.85:19
The ball is sent over by Russell Martin. Bradley Johnson produces a left-footed shot from just outside the box that goes wide right of the target.85:00
Javier Garrido produces a cross, Robert Snodgrass takes a shot. Save made by Mark Schwarzer.82:19
The referee blows for offside. Mark Schwarzer takes the free kick.81:03
Simeon Jackson concedes a free kick for a foul on Brede Hangeland. Mark Schwarzer takes the direct free kick.80:30
Shot from 20 yards from Simeon Jackson. Save by Mark Schwarzer.
Urby Emanuelson challenges Robert Snodgrass unfairly and gives away a free kick. Russell Martin restarts play with the free kick.79:28
The referee blows for offside against Simeon Jackson. Philippe Senderos takes the free kick.77:16
Steve Sidwell challenges Luciano Becchio unfairly and gives away a free kick. Robert Snodgrass takes the direct free kick.76:19
Michael Turner fouled by Damien Duff, the ref awards a free kick. Mark Bunn takes the direct free kick.75:36 Substitution
Substitution Elliott Bennett leaves the field to be replaced by Simeon Jackson.75:13 Substitution
Substitution Mladen Petric joins the action as a substitute, replacing Hugo Rodallega.72:31
The ball is delivered by John Arne Riise, Javier Garrido manages to make a clearance.70:22
Robert Snodgrass takes a shot. Save by Mark Schwarzer.69:26
The ball is delivered by Damien Duff, clearance by Michael Turner.68:20
Wesley Hoolahan fouled by Urby Emanuelson, the ref awards a free kick. Wesley Hoolahan takes the direct free kick.66:32
Bryan Ruiz produces a left-footed shot from just outside the penalty box that misses to the left of the goal.65:05
A cross is delivered by Dimitar Berbatov.64:38
The ball is crossed by Elliott Bennett, John Arne Riise makes a clearance.63:32
Bradley Johnson crosses the ball in from the free kick, Brede Hangeland manages to make a clearance.63:32 Substitution
Substitution Urby Emanuelson on for Emmanuel Frimpong.63:32
Foul by Emmanuel Frimpong on Elliott Bennett, free kick awarded.61:50
Shot by Elliott Bennett from 20 yards. Brede Hangeland gets a block in.61:33
Inswinging corner taken by Robert Snodgrass from the right by-line, clearance made by Brede Hangeland.61:24
Elliott Bennett sends in a cross, Damien Duff makes a clearance.60:57
Corner taken left-footed by Robert Snodgrass from the right by-line, Brede Hangeland manages to make a clearance.60:45
The ball is delivered by Russell Martin, John Arne Riise manages to make a clearance.59:18
Wesley Hoolahan challenges Hugo Rodallega unfairly and gives away a free kick. Brede Hangeland restarts play with the free kick.57:39
Free kick taken by Emmanuel Frimpong.57:39 Booking
Booking Robert Snodgrass is booked.57:35
Free kick awarded for a foul by Robert Snodgrass on Steve Sidwell.56:07
Free kick awarded for a foul by Emmanuel Frimpong on Elliott Bennett. Direct strike on goal from the free kick comes in from Robert Snodgrass.55:29
Free kick awarded for an unfair challenge on Bryan Ruiz by Bradley Johnson. Bryan Ruiz restarts play with the free kick.53:40
Bryan Ruiz takes a shot from 25 yards. Blocked by Sebastien Bassong.52:31
The ball is swung over by Alexander Tettey, comfortable save by Mark Schwarzer.51:19
John Arne Riise delivers the ball, clearance by Javier Garrido.49:52
Centre by Stanislav Manolev, Sebastien Bassong makes a clearance.48:02
Shot by Steve Sidwell. Mark Bunn makes a save.45:53
Stanislav Manolev produces a cross.45:22
Hugo Rodallega takes a shot. Blocked by Michael Turner.45:01
The second half has started.45:00 +4:06 Half time
Half Time The ref blows to signal half-time.45:00 +2:46
Wesley Hoolahan crosses the ball, Header by Luciano Becchio from deep inside the penalty area misses to the right of the target.45:00 +1:39
Foul by Luciano Becchio on Steve Sidwell, free kick awarded. Mark Schwarzer takes the direct free kick.45:00 +0:11
Effort on goal by Elliott Bennett from outside the penalty box goes harmlessly over the bar.42:39
Outswinging corner taken by Bryan Ruiz from the left by-line played to the near post, clearance by Bradley Johnson.42:27
The ball is sent over by Dimitar Berbatov, Russell Martin makes a clearance.40:26
Philippe Senderos concedes a free kick for a foul on Luciano Becchio. Wesley Hoolahan takes the free kick.39:37
Russell Martin delivers the ball, Luciano Becchio has a headed effort at goal from deep inside the area missing to the right of the target.36:53
Free kick taken by Philippe Senderos.36:53 Booking
Booking Elliott Bennett receives a yellow card.36:50
Elliott Bennett gives away a free kick for an unfair challenge on Hugo Rodallega.36:23
Shot by Bradley Johnson. Steve Sidwell gets a block in.36:15
A cross is delivered by Wesley Hoolahan, Brede Hangeland manages to make a clearance.35:20
Free kick crossed left-footed by Robert Snodgrass from right wing, clearance by John Arne Riise.35:20 Booking
Booking Emmanuel Frimpong is given a yellow card.35:12
Emmanuel Frimpong concedes a free kick for a foul on Robert Snodgrass.34:10
Inswinging corner taken by Damien Duff from the right by-line played to the near post, Elliott Bennett makes a clearance.32:31
Free kick awarded for an unfair challenge on Luciano Becchio by Brede Hangeland. The free kick is swung in left-footed by Robert Snodgrass, Brede Hangeland makes a clearance.30:32
Brede Hangeland gives away a free kick for an unfair challenge on Robert Snodgrass. Free kick crossed by Robert Snodgrass, comfortable save by Mark Schwarzer.30:07
A cross is delivered by Javier Garrido, clearance by Philippe Senderos.29:25
Brede Hangeland challenges Luciano Becchio unfairly and gives away a free kick. Bradley Johnson takes the free kick.28:33
Elliott Bennett gives away a free kick for an unfair challenge on Stanislav Manolev. Direct free kick taken by Mark Schwarzer.24:19
The ball is delivered by Bradley Johnson, Russell Martin has a headed effort at goal from deep inside the area missing to the left of the target.24:04
Elliott Bennett delivers the ball, Dimitar Berbatov manages to make a clearance.23:34
Philippe Senderos challenges Luciano Becchio unfairly and gives away a free kick. Javier Garrido restarts play with the free kick.18:30
Corner taken by Damien Duff from the left by-line to the near post, Russell Martin makes a clearance.18:14
Damien Duff takes a shot. Blocked by Russell Martin.13:20
The ball is delivered by Dimitar Berbatov.13:07
Wesley Hoolahan delivers the ball, Stanislav Manolev manages to make a clearance.12:56
Centre by Alexander Tettey, Brede Hangeland makes a clearance.11:29
Bradley Johnson delivers the ball, save by Mark Schwarzer.9:44
Free kick awarded for an unfair challenge on Alexander Tettey by Dimitar Berbatov. Direct free kick taken by Michael Turner.8:12
Centre by Dimitar Berbatov, Michael Turner manages to make a clearance. Damien Duff takes a shot. Michael Turner gets a block in.6:11
Shot from just outside the box by Elliott Bennett goes over the bar.5:32
Stanislav Manolev challenges Elliott Bennett unfairly and gives away a free kick. Free kick taken by Bradley Johnson.5:08
Centre by Javier Garrido, Luciano Becchio takes a shot. Mark Schwarzer makes a comfortable save.1:08
Bradley Johnson challenges Dimitar Berbatov unfairly and gives away a free kick. Philippe Senderos restarts play with the free kick.0:21
The ball is crossed by Robert Snodgrass.0:00
The referee starts the match.
Live data and text provided by our data suppliers