MILLWALL midfielder Ben Thompson was sent off as Ian Henderson scored an injury-time winner for Rochdale at The Den on Saturday afternoon.
Rochdale took the lead in the ninth minute when Callum Camps was left in space in the box to sweep home.
The home side were level two minutes later through Aiden O'Brien, before Lee Gregory put them ahead from the spot in the 18th minute after O'Brien had been fouled.
Camps headed wide before O'Brien went off injured in the 26th minute, David Worrall coming on in his place.
The next Millwall chance fell to Thompson after good work from Steve Morison and Gregory, but Niall Canavan threw himself at the midfielder's shot to make the block.
Worrall could have made it three just after half-time but after advantage had been played following a foul on Gregory on the edge of the box, Josh Lillis raced off his line to foil the winger.
Having had little to do since Rochdale's goal, Jordan Archer got down well to palm away substitute Steven Davies' effort and then the goalkeeper comfortably saved Calvin Andrew's header.
Andrew didn't have long to wait for an equaliser, however, when he climbed above everyone at the back post to head home Joe Bunney's free-kick from the right in the 67th minute.
Rochdale's chances of claiming a second successive win were helped when Thompson was sent off for the first time in his senior career.
Substitute Fred Onyedinma thought he had won it for Millwall late on, but as he wheeled away to celebrate the linesman's flag was up for a tight offside call.
And Rochdale won it in added time when Henderson scored from the spot after Sid Nelson had fouled Davies.
Millwall had conceded 14 goals in eight games in the league before today, and Harris was without Joe Martin through suspension. The Lions boss replaced the full-back with Nelson, who made his first league start since February, the last time Millwall had lost at home in League One.
Gregory was in the starting XI for the first time in seven games and he made a quick impact, but not before Rochdale had made theirs.
Keith Hill's side, who got their first league win of the season last week against Fleetwood, went ahead when right-back Joe Thompson was given far too much room to cross, and Camps was equally unimpeded as he finished past Archer.
But Millwall are a different side with Gregory in the team, even if Rochdale's back four insisted on playing a high line and giving both Millwall centre-forwards opportunities to dart in behind. It was brilliant skill from Morison in midfield to flick the ball over the top to Gregory sprinting into the box that led to the equaliser. Lillis came out to narrow the angle and when the ball broke six yards out O'Brien had come in off the right wing to tap home his fifth of the season.
Millwall had been behind for just two minutes and seven minutes later they were presented with the chance to take the lead when Gregory found O'Brien and he was taken down by Canavan. Gregory stepped up to send Lillis the wrong way for his first goal since the opening day of the season.
In the 26th minute O'Brien seemed to jar his knee and if it's a case of one attacker off the treatment table only for another to take his place it will be frustrating for Harris.
Rochdale were offering little in attack since their goal, but the same couldn't be said about their defence, which was offering plenty of opportunity to Millwall to extend their lead. Hill's side never seemed switched on at throw-ins and and moments after Harrison McGahey was fooled by a Morison flick in the box the defender was hauled off. With just seconds to go to the break it seemed a pointed move from Hill.
His team didn't seem to get the point, though, and only Lillis' quick reaction prevented Worrall from making it three.
Davies scored the winner for Bradford against Millwall in March, and he tested Archer twice, first when he hooked the ball towards goal from a position on the floor, and then when he got his head to Bunney's cross but the ball didn't have enough pace to really trouble the Lions goalkeeper.
Millwall were being given warnings but they were still giving away free-kicks in dangerous positions. That always seemed the most likely route back into the game for a limited Rochdale side, and when Bunney swung a cross over from the right, Andrew powered his header past Archer.
Millwall's chances of getting their first league win in four games were further hindered when Thompson, already on a yellow card, picked up a second one for a foul on Matthew Lund. That forced Harris to take off Shane Ferguson and bring on Jimmy Abdou to keep Gregory and Morison, who were still threatening the Rochdale defence, together up front.
Harris introduced Onyedinma for Gregory late on, and the young attacker had the ball in the net in the 88th minute from Morison's cross, but the offside flag had gone up to halt the home fans' celebrations.
Instead, it was the away support celebrating as Henderson's spot-kick ended Millwall's 12-game unbeaten run in League One at The Den.
Image source: ©Charlie Compitus