As he left the pitch, PSG’s Brazil forward told the fourth official he had heard a racist comment.
Home substitutes Leandro Paredes and Layvin Kurzawa, and Marseille’s Jordan Amavi and Dario Benedetto, were dismissed along with Neymar.
The referee watched a video assistant referee (VAR) replay of a punch by Neymar before showing the 28-year-old a straight red card.
After the match, Neymar posted on social media to say that his “only regret” was not hitting Marseille’s Spanish defender Alvaro Gonzalez in the face, having struck him on the back of the head.
In response, Gonzalez denied claims of any wrongdoing, posting on social media: “There is no place for racism.”
In the post-match news conference Marseille manager Andre Villas-Boas said: “There is no place for racism in football but I don’t think that was the case.
“We’ll have to look at it.”
The game, which was watched by a crowd of about 5,000 fans at the Parc des Princes, was fractious even before that late brawl. There were 17 cards shown, a record for a Ligue 1 game in the 21st Century.
The injury-time drama started when Marseille’s Benedetto nudged Paredes in the back, with the PSG midfielder then punching him to the ground before appearing to headbutt Alvaro.
A melee broke out, with Kurzawa and Amavi punching and kicking each other.
Benedetto and Paredes were shown second yellow cards, with Kurzawa and Amavi given straight reds.
The VAR review showed Neymar had punched Alvaro, a player he had been in a running battle with, and the forward was shown a straight red card, having earlier been booked.
Alvaro had also been involved in a big first-half flashpoint when he suggested Angel di Maria spat at him.
Di Maria was one of seven PSG players – along with Neymar – to test positive for coronavirus before the season started, although he had since provided a negative test.