Florian Thauvin scored the only goal as PSG lost their opening two Ligue 1 games for the first time since 1984-85.
But a late brawl saw PSG substitutes Leandro Paredes and Layvin Kurzawa, and Marseille duo Jordan Amavi and Dario Benedetto sent off.
The referee then watched a VAR replay of a Neymar punch and showed him a straight red card.
As he left the pitch, the Brazilian told the fourth official he had heard a racist comment.
After the match, Neymar tweeted that his “only regret” was not hitting Alvaro Gonzalez in the face. He had struck him on the back of the head.
In the post-match press 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 in total, 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 each shown second yellow cards, with Kurzawa and Amavi have shown straight reds.
A VAR review showed Neymar had punched the back of the head of Alvaro, a player he had been in a running battle with, and he 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.
What about the game itself?
Under any other circumstances, the headlines would have been about a famous win for Andre Villas-Boas’ Marseille over PSG.
Marseille had last beaten PSG in Le Classique – one of French football’s biggest rivalries – in 2011.
PSG – who lost 1-0 to promoted Lens on Thursday – have lost their opening two league games for the first time in 36 years. They finished 13th that season.
The last time they lost their first two games without scoring was 1978.
Including the Champions League final against Bayern Munich only 21 days ago, that is three 1-0 defeats in a row.
Thauvin scored the only goal when he volleyed Dimitri Payet’s free-kick in from close range. Di Maria and Benedetto both had goals disallowed for offside.
See Scores, Results & Fixtures Below:
Source: BBC SPORT