The hosts had a fantastic first half, with Saka scoring the opener for the Gunners.
For big stretches of the game, City were not at their best, but they were able to claw their way back into it when VAR handed them a penalty, which Mahrez converted.
Gabriel was subsequently sent off after receiving two yellow cards in two minutes, the first for denting the penalty area and the second for blocking Jesus’ run.
Rodri then scored the game-winner in stoppage time from close range to bury the game and seal the three points.
City has now won 11 consecutive Premier League matches, putting them 11 points off the top of the table.
Next up for them is a trip to Swindon Town in the FA Cup.
The Gunners were unable to hold on and remain in fourth place. On Tuesday, they battle Liverpool in the first leg of their EFL Cup semi-final.