Cardiff City missed a chance to return to the Championship play-off places as they were frustrated by struggling Millwall.
Joe Mason had a first-half shot cleared off the line before the Cardiff striker had a flicked header tipped over the bar by Millwall keeper Maik Taylor.
Millwall's Andy Keogh and Cardiff's Aron Gunnarsson found the net, but both efforts were ruled out.
James Henry missed a late open goal to clinch victory for the visitors.
The point, however, aids the visitors' Championship survival bid as it nudges Kenny Jackett's men six points clear of the relegation places.
Cardiff's fourth successive draw was disappointing for boss Malky Mackay as the Bluebirds had dominated for long spells but their poor form of just two wins in 14 games continues.
The stalemate was the fifth time in the nine league games that Cardiff have failed to score as Mason, Stephen McPhail and Kenny Miller did not convert chances.
But, despite their woeful run, the Welsh side are still in touch of the Championship play-off places with six games remaining.
CARDIFF v MILLWALL FACTS
- Cardiff are the Championship draw specialists with 16 this season
- This was just Millwall's 11th point against a top-half club in 21 attempts this term
Millwall wore black armbands after former defender Barry Kitchener, their record appearance holder, died aged 64 after a short illness on Friday.
And it was the Londoners who had the best of the early chances as midfielder Henry fired over a 20-yard free-kick before smashing a shot wide.
McPhail tested Northern Ireland international Taylor from long range before a Mason strike was blocked on the line by Millwall defender Paul Robinson.
Gunnarsson then headed over for Cardiff while Liam Feeney blocked Liam Lawrence's effort.
Scotland striker Miller, without a goal in 15 games, shot at Taylor before the veteran stopper pushed Mason's header over the bar.
Gunnarsson nodded wide and Miller was again off target as Cardiff struggled to find a killer blow.
Kevin McNaughton saw his goal-bound drive well blocked by Josh Wright before Cardiff team-mate Miller was denied by Jack Smith.
In a rare foray into opposing territory, Henry blasted wide from 12 yards for Millwall even though the Cardiff net was empty.
Keogh thought he had got the winner for Millwall with 14 minutes remaining when he slotted home - but he was flagged offside.
The Republic of Ireland striker then brought a decent punched save from Cardiff keeper David Marshall when he pulled the trigger from six yards out.
Gunnarsson thought he had won the game for the hosts but referee Tony Bates had awarded Millwall a free-kick for a foul in the build-up as Cardiff were frustrated again.
- 01 Marshall
- 02 McNaughton
- 03 Taylor
- 05 Hudson
- 25 Turner
- 07 Whittingham
- 13 Lawrence Booked
- 17 Gunnarsson
- 37 McPhail (Gestede - 63' )
- 09 Miller (Earnshaw - 76' )
- 20 Mason (Conway - 74' )
- 22 Heaton
- 11 Conway
- 23 Blake
- 10 Earnshaw
- 15 Gestede
- 39 Taylor
- 03 Craig
- 05 Robinson
- 21 Smith Booked
- 31 Lowry
- 14 Henry Booked
- 15 Feeney
- 26 Abdou
- 44 Wright (Ward - 90' )
- 20 Keogh
- 37 Kane (Henderson - 59' Booked )
- 01 Forde
- 02 Dunne
- 18 Ward
- 08 Bouazza
- 07 Henderson
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +3:18 Substitution
Substitution Darren Ward comes on in place of Josh Wright.90:00 +2:02
Direct free kick taken by David Marshall.90:00 +2:02 Booking
Booking The referee books Darius Henderson for unsporting behaviour.90:00 +1:53
Darius Henderson challenges Mark Hudson unfairly and gives away a free kick.90:00 +1:25
Peter Whittingham has an effort at goal from just outside the box which goes wide of the right-hand upright.89:00
Liam Lawrence challenges Tony Craig unfairly and gives away a free kick. Free kick taken by Maik Taylor.88:17
Darius Henderson challenges Mark Hudson unfairly and gives away a free kick. Direct free kick taken by David Marshall.87:47
Foul by Darius Henderson on Mark Hudson, free kick awarded. David Marshall takes the free kick.85:36
Liam Feeney challenges Liam Lawrence unfairly and gives away a free kick. Peter Whittingham crosses the ball in from the free kick.85:17
Aron Gunnarsson fouled by Nadjim Abdou, the ref awards a free kick. Ben Turner restarts play with the free kick.84:18
Effort on goal by Robert Earnshaw from just inside the penalty area goes over the target.83:56
Shane Lowry gives away a free kick for an unfair challenge on Liam Lawrence. Direct free kick taken by Liam Lawrence.83:17
James Henry has an effort at goal from just inside the box that misses to the left of the goal.80:04
Nadjim Abdou challenges Rudy Gestede unfairly and gives away a free kick. Liam Lawrence crosses the ball in from the free kick. Aron Gunnarsson is caught offside. Free kick taken by Maik Taylor.79:29
David Marshall takes the direct free kick.79:29 Booking
Booking Booking for Jack Smith.79:24 Booking
Booking Liam Lawrence goes into the book.79:13
Free kick awarded for an unfair challenge on Liam Lawrence by Jack Smith.78:53
Andrew Keogh takes a shot. Save by David Marshall.
The assistant referee signals for offside against Andrew Keogh. Indirect free kick taken by David Marshall.75:20 Substitution
Substitution Robert Earnshaw joins the action as a substitute, replacing Kenny Miller.74:59
Effort from inside the area by James Henry misses to the right of the goal.73:01
David Marshall takes the indirect free kick.73:01 Substitution
Substitution Craig Conway replaces Joe Mason.73:01
The assistant referee flags for offside against Andrew Keogh.72:17
Peter Whittingham takes a inswinging corner from the right by-line to the near post, Andrew Keogh makes a clearance.72:07
Kenny Miller takes a shot. Blocked by Jack Smith.70:56
Foul by Liam Feeney on Kevin McNaughton, free kick awarded. David Marshall takes the free kick.69:37
Kevin McNaughton takes a shot. Josh Wright gets a block in.68:10
Unfair challenge on Shane Lowry by Ben Turner results in a free kick. Maik Taylor restarts play with the free kick.67:53
Short corner taken by Liam Lawrence.62:12 Substitution
Substitution Rudy Gestede comes on in place of Stephen McPhail.60:51
Free kick taken by David Marshall.60:51 Booking
Booking James Henry is cautioned.60:29
Kevin McNaughton fouled by James Henry, the ref awards a free kick.58:47
The assistant referee flags for offside against Kenny Miller. Maik Taylor restarts play with the free kick.58:05 Substitution
Substitution Darius Henderson replaces Harry Kane.56:08
Kevin McNaughton fouled by Liam Feeney, the ref awards a free kick. Mark Hudson takes the free kick.54:08
Foul by Paul Robinson on Kenny Miller, free kick awarded. Strike comes in from Peter Whittingham from the free kick.51:19
Shot by Kenny Miller from deep inside the penalty area misses to the left of the goal.49:30
Tony Craig challenges Aron Gunnarsson unfairly and gives away a free kick. Peter Whittingham crosses the ball from the free kick left-footed from right wing, Paul Robinson manages to make a clearance.48:11
Header from close in by Aron Gunnarsson misses to the right of the target.47:31
Corner taken by Liam Lawrence.47:21
Joe Mason takes a shot. Save by Maik Taylor.46:22
Effort from 20 yards by Kenny Miller. Save made by Maik Taylor.45:01
The game restarts for the second half.45:00 +1:06 Half time
Half Time The players leave the pitch at half time.42:28
Effort on goal by Aron Gunnarsson from deep inside the penalty area misses to the right of the goal.41:49
Free kick awarded for a foul by Tony Craig on Liam Lawrence. David Marshall takes the free kick.41:25
Kenny Miller is ruled offside. Paul Robinson restarts play with the free kick.40:15
Unfair challenge on Mark Hudson by Andrew Keogh results in a free kick. David Marshall takes the direct free kick.39:01
Free kick awarded for a foul by Andrew Taylor on Andrew Keogh. Direct free kick taken by James Henry.36:58
Andrew Keogh gives away a free kick for an unfair challenge on Aron Gunnarsson. Mark Hudson takes the direct free kick.34:26
Kenny Miller fouled by Paul Robinson, the ref awards a free kick. The free kick is delivered left-footed by Peter Whittingham from left channel.31:49
Harry Kane is caught offside. David Marshall takes the free kick.29:28
Tony Craig gives away a free kick for an unfair challenge on Kevin McNaughton. The free kick is delivered left-footed by Peter Whittingham from right wing, save by Maik Taylor.26:32
Liam Lawrence takes a shot. Blocked by Liam Feeney.23:05
Tony Craig has a shot on goal from long range that goes wide left.21:25
Aron Gunnarsson produces a header from inside the area that goes over the crossbar.21:04
Harry Kane takes a shot. Blocked by Mark Hudson.20:25
Corner taken right-footed by James Henry, clearance made by Aron Gunnarsson.20:04
Aron Gunnarsson takes a shot. Shane Lowry makes a clearance.19:46
Mark Hudson takes a shot. Josh Wright gets a block in.18:59
Foul by Shane Lowry on Aron Gunnarsson, free kick awarded. Peter Whittingham takes the direct free kick.18:26
The assistant referee flags for offside against Liam Feeney. David Marshall takes the free kick.17:37
Liam Feeney is flagged offside by the assistant referee. David Marshall restarts play with the free kick.12:34
Aron Gunnarsson concedes a free kick for a foul on Jack Smith. Maik Taylor takes the direct free kick.11:52
Stephen McPhail gives away a free kick for an unfair challenge on Nadjim Abdou. Direct free kick taken by Josh Wright.11:03
Stephen McPhail takes a shot. Save made by Maik Taylor.9:53
Liam Feeney takes a shot from long distance which goes wide of the right-hand upright.9:30
Peter Whittingham takes a shot. Harry Kane gets a block in.8:24
James Henry has an effort from just inside the box that misses to the left of the goal.6:30
The assistant referee flags for offside against Andrew Keogh. Indirect free kick taken by David Marshall.5:54
Foul by Stephen McPhail on James Henry, free kick awarded. Jack Smith restarts play with the free kick.4:08
Andrew Keogh fouled by Mark Hudson, the ref awards a free kick. James Henry has a direct shot on goal from the free kick.2:22
Foul by Andrew Keogh on Ben Turner, free kick awarded. David Marshall takes the free kick.0:00
The game gets underway.
Live data and text provided by our data suppliers