The 21-year-old was given marching orders for a rash challenge on Lucas Ocampos in the 25th minute.
Kalu who was making his 18th Ligue 1 appearance at the Stade Velodrome caught Ocampos' shin with a badly-timed tackle that saw his feet off the ground.
His expulsion, his first in the French top-flight, trigerred the hosts to break the dealock and grab maximum points with Boubacar Kamara's 42nd-minute header separating both sides.
After the interval, 10-man Bordeaux pushed for an equaliser until referee Jerome Brisard signaled for the end of the game.
The win was Marseille's first home win since November as Bordeaux remain winless since their victory over Dijon in January.
The Girondins are 12th in league table and they visit PSG for their next Ligue 1 match on Saturday.