Match ends, Millwall 2, Cardiff City 2.
Millwall 2-2 Cardiff City: Bradshaw comes to Lions' rescue
Tom Bradshaw twice helped Millwall come from behind against visitors Cardiff City to end Adam Barrett's stint as caretaker boss on a high note.
Barrett, who now hands over the reins to Gary Rowett, watched his side go behind as Junior Hoilett picked out Danny Ward to score with a close-range header.
Bradshaw equalised on the stroke of half-time when his deflected shot evaded Neil Etheridge.
Cardiff retook the lead when Ward and Lee Tomlin combined to find Hoilett, who curled home from the edge of the area.
But Bradshaw again came to the Lions' rescue, as the Wales forward wrong-footed the defence to fire into the corner.
As well as missing out on all three points, Cardiff boss Neil Warnock may rue an injury to Hoilett.
The influential winger limped off on 67 minutes and could be a doubt for Sunday's derby at Welsh rivals Swansea City.
Warnock's men remain winless on the road this season and sit five points from the play-offs in 13th, while Millwall are in 16th with three fewer points.
The hosts started well, Matt Smith flicking a header just wide from Mahlon Romeo's cross.
But it was the Bluebirds who drew first blood when Hoilett swung in a cross from the left and Ward nodded home from close range through the legs of goalkeeper Bartosz Bialkowski.
The same combination nearly added a second but this time Ward could only send his effort over the crossbar, while Bialkowski kept out shots from Lee Tomlin and then Ward.
Jake Cooper had wasted a good chance for Millwall, directing a tame header straight at Neil Etheridge, before Bradshaw popped up on the right of the box and fired home a deflected shot to level shortly before half-time.
Cardiff edged a fiery second half and made their dominance count when Tomlin and Ward combined well to find Hoilett, allowing the Canadian winger to curl home a brilliant effort.
Only two fine stops from Bialkowski prevented the Bluebirds from extending their lead, first saving at the feet of Aden Flint before denying Sean Morrison from a corner.
Bradshaw made the most of his keeper's heroics when he latched on to the ball in the box, jinked past one defender and lashed another equaliser high into the net.
The forward could have had a hat-trick minutes later but shot straight at Etheridge from a tight angle, who also beat away a venomous Jed Wallace shot in the closing stages.
Millwall caretaker Adam Barrett told BBC Radio London:
"We had to claw ourselves back and show strong character against a good side. It got a bit edgy but we came through it.
"Tom Bradshaw fully deserves everything he gets. He is a great professional and has worked extremely hard after the injury he had, and has started to show the form which we bought him for.
"I've had the euphoria of beating Leeds and then the disappointment at Brentford, I just wanted to make sure we didn't get beaten tonight.
"Four points from three games, with the circumstances, is a decent return and it is a positive feel with the new gaffer coming in."
Cardiff boss Neil Warnock:
"It is probably the most frustrated I've ever been this season, and there have been one or two moments. It is scandalous really. I just don't know what to say.
"I have never felt so comfortable at Millwall. We had shot after shot after shot, chances from corner kicks and everywhere.
"We were so charitable with the two goals and it is unbelievable really, so I am disappointed, especially as this is as good an away performance as you are going to get at a place like this. I can't see many teams dominating as much as we did."
- 5CooperBooked at 77mins
- 22O'BrienSubstituted forMahoneyat 86'minutes
- 10SmithSubstituted forBödvarssonat 70'minutes
- 3BennettBooked at 65mins
- 17TomlinSubstituted forBogleat 86'minutes
- 33HoilettSubstituted forMurphyat 67'minutes
- 23WardSubstituted forPatersonat 86'minutes
- Tim Robinson
- Shots on Target
Second Half ends, Millwall 2, Cardiff City 2.
Foul by Jake Cooper (Millwall).
Aden Flint (Cardiff City) wins a free kick in the defensive half.
Corner, Millwall. Conceded by Marlon Pack.
Hand ball by Josh Murphy (Cardiff City).
Attempt missed. Callum Paterson (Cardiff City) left footed shot from the centre of the box is close, but misses to the right. Assisted by Joe Ralls.
Attempt blocked. Joe Bennett (Cardiff City) left footed shot from outside the box is blocked.
Foul by Shaun Williams (Millwall).
Omar Bogle (Cardiff City) wins a free kick in the defensive half.
Connor Mahoney (Millwall) wins a free kick in the defensive half.
Foul by Gavin Whyte (Cardiff City).
Substitution, Cardiff City. Omar Bogle replaces Lee Tomlin.
Substitution, Cardiff City. Callum Paterson replaces Danny Ward.
Substitution, Millwall. Connor Mahoney replaces Aiden O'Brien.
Corner, Millwall. Conceded by Lee Peltier.
Attempt saved. Jed Wallace (Millwall) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by Ben Thompson.
Ben Thompson (Millwall) wins a free kick in the defensive half.
Foul by Joe Ralls (Cardiff City).
Attempt saved. Tom Bradshaw (Millwall) right footed shot from the right side of the box is saved in the top centre of the goal. Assisted by Jed Wallace.
Tom Bradshaw (Millwall) wins a free kick in the attacking half.
Foul by Aden Flint (Cardiff City).
Jón Dadi Bödvarsson (Millwall) wins a free kick in the defensive half.
Foul by Joe Ralls (Cardiff City).
Goal! Millwall 2, Cardiff City 2. Tom Bradshaw (Millwall) right footed shot from the centre of the box to the top right corner. Assisted by Jón Dadi Bödvarsson.
Jake Cooper (Millwall) is shown the yellow card for a bad foul.
Foul by Jake Cooper (Millwall).
Josh Murphy (Cardiff City) wins a free kick on the left wing.
Hand ball by Tom Bradshaw (Millwall).
Substitution, Millwall. Jón Dadi Bödvarsson replaces Matt Smith.
Attempt missed. Lee Tomlin (Cardiff City) left footed shot from the centre of the box is high and wide to the left following a corner.
Attempt saved. Sean Morrison (Cardiff City) right footed shot from very close range is saved in the bottom right corner.
Attempt blocked. Lee Tomlin (Cardiff City) header from the centre of the box is blocked. Assisted by Joe Ralls with a cross.
Corner, Cardiff City. Conceded by Bartosz Bialkowski.
Attempt saved. Aden Flint (Cardiff City) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Danny Ward with a headed pass.
Corner, Cardiff City. Conceded by Mahlon Romeo.
Substitution, Cardiff City. Josh Murphy replaces David Junior Hoilett because of an injury.
Joe Bennett (Cardiff City) is shown the yellow card for a bad foul.
Mahlon Romeo (Millwall) wins a free kick in the attacking half.
Foul by Joe Bennett (Cardiff City).