Both managers condemned the various incidents, while Millwall said they would impose lifetime bans for anyone found guilty of discriminatory abuse.
Palace, without their influential Africa Cup of Nations trio of Wilfried Zaha, Jordan Ayew and Cheikhou Kouyate, looked far from a Premier League side in a first half that saw them deservedly fall behind, albeit from a dreadful error.
Having made the foolish decision to take on two rapidly advancing Millwall players, Butland lost control of the ball and gifted it straight to Afobe. His tap-in from eight yards was unmissable.
For all their first-half malaise, Crystal Palace were a team transformed after the break, and equalised before many Millwall fans had returned to their seats. Olise, who had been subdued for the opening period, picked the ball up on the right, cut it on his left and curled in expertly off the far post.
He repeated the trick in identical fashion moments later only to see the ball ricochet off the ball to safety, before setting up the winner when delivering a perfect cross for Mateta to head goalwards from six yards.
Millwall pushed to no avail as the match wore on, with their manager Gary Rowett left rueing their start to the second half.
“We looked really assured as a team in the first half, in and out of possession,” he said. “I was really pleased when we came in at half-time. We can’t start the second half like that. Disappointing.”
Millwall: Long, Hutchinson, Pearce, Cooper, McNamara, Mitchell, Saville, Malone, Ojo, Bradshaw, Afobe.
Subs: Kieftenbeld, Smith, Bennett, Evans, Burey, Bialkowski, Boateng, Topalloj, Lovelace.
Crystal Palace: Butland, Ward, Andersen, Guehi, Mitchell, Schlupp, Gallagher, Hughes, Eze, Mateta, Olise.
Subs: Milivojevic, Clyne, Matthews, Benteke, Edouard, Kelly, Riedewald, Rak-Sakyi, Wells-Morrison.
Referee: Anthony Taylor (Cheshire)
Millwall vs Crystal Palace, as it happened: