Abou Diop came on in the 88th minute but was dismissed almost immediately for elbowing an opponent. Angelo Ogbonna had also been dismissed for Torino two minutes earlier after giving away the penalty which led to Cagliari's third goal.
The goals also flowed as eighth-placed AS Roma won 3-2 at Atalanta in heavy snow while leaders Juventus enjoyed a routine 3-0 home win over Siena, which took them seven points clear of Napoli who play at Udinese on Monday.
The mid-table action in Cagliari took place behind closed doors on safety grounds following the latest episode in the long-running saga over the their move to the scandal-plagued Is Arenas stadium.
Club president Massimo Cellino was arrested on this month on charges of embezzlement and false representation in the rebuilding of the tiny stadium, which has three temporary stands and one permanent structure.
A Marco Sau penalty gave the Sardinians a halftime lead, but Alessio Cerci and Alen Stevanovic put the visitors 2-1 up within 10 minutes of the re-start.
Daniele Conti levelled in the 75th minute, Mauricio Pinilla put Cagliari back in front with an 87th minute penalty after Ogbonna had tugged the Chilean's shirt.
Rolando Bianchi equalised for Torino with another spot kick in the 92nd minute before Conti won it for with a swerving, deflected shot.
Vasilis Torosidis scored Roma's winner with a 71st minute strike at Atalanta after the teams shared four goals in the first half, Marquinho and Miralem Pjanic scoring for Roma and Marko Livaja netting twice for the hosts.
Stephan Lichtsteiner gave Juventus the lead on the half hour and they had to wait until the last 20 minutes to wrap the game up as Sebastian Giovinco rifled in from a difficult angle and Paul Pogba netted with a low shot from 25 metres.
The main action is later on Sunday with Inter Milan due to face arch-rivals AC Milan
- Sports & Recreation
- Angelo Ogbonna