Full-time score from Ashton Gate
Darius Henderson bagged his second goal in successive games and fourth of the season as Millwall battled hard for a draw at Ashton Gate.
Steve Davies had put Bristol City ahead in the 28th-minute lead with a bizarre looping header that gave keeper David Forde no chance in the visiting goal.
However striker Hendo produced a textbook header of his own to level the scores up 10 minutes later, powering James Henry's delicious delivery into the back of the net from six yards.
Henderson's goal made amends for an earlier miss, when he out-muscled Robins defender Mark Wilson and forced his way into a great position, only to drive wide with the goal at his mercy.
City, who had scored 13 goals in four previous home games in the Championship, could have taken a third minute lead when Sam Baldock's low centre was only half cleared by Lions skipper Danny Shittu and Stephen Pearson drove narrowly wide from 16 yards.
Lions keeper Forde came to the rescue with a smart stop to thwart Davies, but Millwall really should have edged ahead only for Henderson to waste that gilt-edged chance.
City's Davies went close with a curling effort past the post, but was not to be denied - although his goal had a touch of luck as well as opportunism about it.
When Baldock was put clean through Forde did all that was asked, rushing from his line to firmly head the ball clear on the edge of the 18-yard box. However the ball fell invitingly for Davies and his firm return header sailed over the keeper and in to the back of the net.
But the lead proved short-lived and Millwall grabbed a deserved leveller seven minutes before the break courtesy of a super delivery from Henry on the right that Henderson met sweetly to send a towering header past Tom Heaton in the home goal.
And it could have been even better for The Lions had Chris Wood not headed straight into Heaton's hands from close range following a slick move just before half-time.
Derek McInnes' men should have restored their advantage minutes after the restart, but thankfully Albert Adomah scooped high and wide over the bar from just four yards after Davies had headed Neil Kilkenny's teasing cross into his path.
The lively Davies looked to have fired City ahead when he burst through but guided his shot into the side netting, although a large portion of the Ashton Gate crowd thought the ball had gone in rather than wide.
It was heart in mouth time for the home crowd, however, when for the second game running, Henderson so nearly stole all three points right at the death.
The clock was heading towards full-time when Hendo burst between Richard Foster and Lewin Nyatanga and unleashed a shot that flew a matter of inches wide.
Bristol City: Heaton, Foster, Wilson, Fontaine, Nyatanga, Baldock (Pitman, 83mins), Kilkenny (Woolford, 69mins), Skuse, Pearson, Davies (Taylor, 69mins), Adomah. Subs not used: Gerken, Carey, Wilson, Morris.
Booking: Nyatanga (73mins)
Scorer: Davies (28mins)
Millwall: Forde, Dunne, Smith, Abdou, Lowry, Shittu, Malone (C.Taylor, 83mins), Trotter, Henderson, Wood (Keogh, 67mins), Henry. Subs not used: M.Taylor, Batt, Wright, Mkandawire, Goodman.
Booking: Lowry (83mins)
Scorer: Henderson (38mins)
Ref: A. Woolmer