Eugenio Togni's 95th minute free-kick sparked joyous scenes and a pitch invasion led by Delfini coach Cristiano Bergodi to temporarily lift Pescara out of the relegation zone. Catania's rotten road form continues with just one win this season.
Earlier, the Sicilians had a goal wrongly disallowed and thought they had ensured a share of the spoils after Pablo Barrientos cancelled out Mervan Celik's opener. Celik was a surprise starter, replacing the injured Ante Vukusic, while the visitors made the trip without the injured Gonzalo Bergessio.
Catania signalled their intent to attack from the kick-off. It only took Alejandro Gomez three minutes to fire a warning shot over, following good link-up play by Sergio Almiron and Giovanni Marchese down the left hand side.
On 12 minutes, Lucas Castro pounced on Christian Terlizzi's dallying and failure to clear a routine ball. The frontman shot across goal, with the ball beating Mattia Perin, but not the post. More poor defending let Castro in again two minutes later, but this time his shot found the side netting.
Pescara hit the front with their first real attack. Vladimir Weiss did well to pull back for Celik to hit the ball from the edge of the box. The Swede's shot beat Mariano Andujar at the near post and crept in underneath his body, although replays showed a slight deflection.
The visitors deservedly drew level nine minutes before the break. Mariano Izco found Barrientos in the area, and a well placed shot found the bottom corner, with Perin rooted to the spot.
Marchese turned a shot wide of the post after meeting a Lodi corner five minutes before half time. Catania suffered a blow when Pablo Alvarez was stretchered off with a knee injury just before the break.
Both sides weren't settling for a draw. Early in the second half, Bjarnason drove forward and laid off to Celik, who forced a good save out of Andujar. At the other end, Perin spilt the ball and Almiron missed the chance to put his side ahead.
Marchese slotted the ball in on 55 minutes after Perin parried a shot. The offside flag went up and the goal was disallowed. Replays showed Bjarnason was playing Marchese onside. Lodi teed Marchese up again on the hour, but he shot wide.
Gomez fell to the ground and had to go off with cramp. Meanwhile, Perin continued to live on a knife edge, slipping over not once, but twice when trying to kick away routine clearances.
The young shot stopper redeemed himself when he tipped over Giuseppe Bellusci's dipping shot after it took a deflection off of a defender and was falling just under the bar.
Pescara thought they had blown it when substitute Gianluca Caprari missed a guilt-edged chance in the last minute. Marco Capuano stretched his legs and rolled the ball across the box. Andujar stuck his gloves out and Caprari somehow fluffed the chance from point blank range.
The game had one final twist. Almiron conceded a needless free-kick when he manhandled Matti Lund Nielsen. Togni stepped up and floated the set piece over the wall and into the net from 25 yards. Andujar had started to go the wrong way and was too late to correct his error.
Pescara: Perin, Balzano, Terlizzi, Capuano, Modesto; (Zanon 68) Nielsen, Togni, Bjarnason; Weiss; (Caprari 80) Abbruscato, Celik
Catania: Andujar; Alvarez, (Bellusci 43) Legrottaglie, Spolli, Marchese; Izco, Lodi, Almiron; Castro, Gomez, (Morimoto 76) Barrientos
Goals: Celik 23 (P) Barrientos 36 (C) Togni 95 (P)