MILLWALL are still without a win in the Championship this season, but put in another encouraging performance to claim a point against Bristol City at Ashton Gate.
Lee Gregory and Famara Diedhiou went closest to giving their sides the lead before the break, but from similar crosses neither striker could get the decisive touch to take the ball in at the back post.
Just after the break Jordan Archer saved low to his right from Bobby Reid, and was then in the right place to clean up after Eros Pisano attempted to poke home from close range.
With just over 20 minutes left goalkeeper Frank Fielding made a superb full-length save to deny Jed Wallace what looked like a certain goal.
City were then the width of the crossbar from going ahead, Archer beaten as Joe Bryan’s shot came back off the woodwork and George Saville cleared the loose ball.
Substitute Tom Elliott hit the woodwork at the other end with seven minutes left from Shane Ferguson's free-kick as Millwall finished strongly, and another substitute, Fred Onyedinma, saw his low effort saved by Fielding in added-time.
Millwall may still be looking for their first win of the season, and have just two points from four games, but this was yet more evidence that they have more than enough quality to hold their own in the division. They were the more proactive side for large spells against their established second-tier opponents, and it would have been another injustice had Bryan's shot gone in.
Elliott could have won it for Millwall, and the concern is that the three main strikers have scored just one league goal between them this season.
Bristol City had scored six goals before the 20th minute in their four games before this contest, and showed they were also capable of late rallies after a 98th-minute equaliser in their last game, a 2-2 draw at Brentford.
It was Millwall who made a much brighter start and three times inside four minutes Wallace, twice, and Steve Morison shot wide from promising positions.
The Lions forced seven corners in the first 15 minutes and 11 in total before the break but too often the deliveries were poor, though Morison did force goalkeeper Fielding to tip the ball over the crossbar in the 14th minute.
Saville was almost playing off the front two of Morison and Gregory at times. The midfielder shot over in the 27th minute before the City defence were in a fluster with Saville and Morison lurking, and the home side just managed to clear.
The Robins possess a number of dangerous players and there were several times in the first half when they were close to making a breakthrough only for last-ditch and some excellent interventions to deny them. Jamie Paterson was nominally picked on the left wing, but he spent little time there, moving inside instead to link the play to the attackers and leave space for full-back Bryan to run into.
Bryan’s direct opponent Conor McLaughlin left a header back to Archer slightly short at one point, but the goalkeeper got there before Reid. Later in the half, McLaughlin just managed to stop the ball reaching Reid, who was spending most of his time right on the Millwall defensive line.
There was a penalty shout when McLaughlin moved across Reid in the box, but it was good defending rather than an infringement.
There was a flurry of action just before the break. In the 44th minute Morison ran into the right channel and whipped a cross to Gregory that Nathan Baker had to stretch to cut out. The Millwall fans were calling for a red card when striker Diedhiou raised his hand to Wallace’s face, but referee Darren England decided yellow was sufficient punishment.
Diedhiou then almost put his side ahead in first-half injury-time, but narrowly missed making contact with Josh Bronwhill’s low cross to the back post.
Archer was alert to keep out Reid’s effort after the break and then in the right place as Pisano threatened.
Millwall fans thought their side were about to go in front when Wallace lined up a half-volley, but Fielding sprung to his left to palm the ball away and from the rebound Gregory was offside.
It was end to end and after Bryan had exchanged passes with Reid he clipped a shot past Archer but watched it cannon back off the crossbar.
Lions boss Neil Harris sprung Elliott from the bench in the 79th minute, and the striker immediately combined with Morison to race clear only to then pull a low cross behind his supporting runners.
In injury-time City captain Bailey Wright got his head to a corner but it was straight at Archer. There was still time for Millwall to attempt to snatch a dramatic late winner, but Fielding saved from Onyedinma and Saville's follow-up was blocked as City escaped with a point.
Image: Millwall FC