The result sees Cagliari pull seven points clear of Pescara and the relegation zone, as they extend their unbeaten run to six games. Pescara have now lost five of their last six matches and are four points adrift from safety.
Pescara were without Eugenio Romulo Togni, Juan Fernando Quintero, Ferdinando Sforzini and Giuseppe Sculli. Cagliari missed suspended trio Davide Astori, Daniele Conti and Daniele Dessena. However, Radja Nainggolan and Danilo Avelar returned from their respective bans.
The game's first real chance fell to the home side halfway through the first half. Milton Caraglio teed up Gaetano D'Agostino to fire just wide from outside the box. Moments later, Andrea Cossu laid off a free kick for Avelar to shoot tamely at Mattia Perin.
Cagliari created a good chance just after the half hour mark. Marco Sau dummied Federico Casarini's cross, allowing Victor Ibarbo to turn and shoot, but Perin did well to get down and block. The young shotstopper stayed alert to palm Casarini's hopeful lob onto the crossbar eight minutes before the break.
Weiss went close to opening the scoring three minutes before half time. The Slovakian cut inside from the left hand side and curled a shot towards goal. The ball beat the outstretched hand of Michael Agazzi, but not the far post and bounced clear.
Pescara lost D'Agostino to injury shortly after the restart. Avelar almost punished the home side for failing to clear a corner, but Perin pulled off a low save to deny the Cagliari defender.
The visitors made their pressure pay and took the lead eight minutes into the second half. Sau took advantage of the non-existent Pescara marking to head Cossu's cross past a scrambling Perin into the far corner from six yards out.
Cagliari had the bit between their teeth and pushed forwards. Perin denied Cossu, who shot direct from a free kick on the edge of the box. The offside flag came to Pescara's rescue when Ekdal threaded through for Ibarbo. Sau doubled his tally for the afternoon just past the hour. Francesco Pisano and Nainggolan combined to get the ball to the frontman, who turned Nicolas Bianchi Arce on the penalty spot and sent a shot off Perin's legs into the top corner.
Damiano Zanon and Blasi were both whistled off the pitch as they were substituted. A section of home fans walked out in protest with 15 minutes still to play.
Caraglio nodded a Weiss free kick wide after being put under pressure by Lorenzo Ariaudo. Weiss was given a straight red in stoppage time for kicking Ibarbo's legs from under him. It was the midfielder's second dismissal of the season and compounded a miserable afternoon for the home side.
Pescara: Perin, Zanon, (Caprari 64) Bianchi Arce, Zauri, Bocchetti, D'Agostino, (Bjarnason 49) Blasi, (Vukusic 75) Weiss, Rizzo, Caraglio, Celik
Cagliari: Agazzi, Pisano, Avelar, Rossettini, Ariaudo, Cossu, (Cabrera 72) Nainggolan, Casarini, Ekdal, (Eriksson 88) Sau, (Nene 81) Ibarbo
Goals: Sau 53, 61 (C)
Sent off: Weiss 90+1 (P)