The Nerazzurri looked to be heading for their fifth straight league defeat after first-half goals from Alejandro Gomez and Mariano Izco put Catania on course for an upset.
However, Diego Forlan ended Inter's one-month goal-drought in the 71st minute to bring his side back into the match before team-mate Diego Milito equalised with 10 minutes remaining.
The result leaves Inter in seventh place, a point behind sixth-placed Roma and one spot and three points above Catania.
Inter coach Claudio Ranieri went into the game under growing pressure with his side having failed to win in their past nine games in all competitions.
The home side started strongly and almost took a 15th-minute lead but Catania goalkeeper Juan Pablo Carrizo kept out Forlan's 10-yard effort.
Five minutes later Catania went ahead when Pablo Barrientos fed Gomez in the area and he struck his shot past Inter goalkeeper Julio Cesar.
Catania made it 2-0 in the 38th minute when Giovanni Marchese found Izco in the box and he fired the ball into the back of the net.
Inter were struggling to find a way through and after half-time, it was more of the same with the visitors from Sicily threatening to increase their lead.
On the hour mark, Catania's Marco Motta nodded Francesco Lodi's cross on target and it was saved by Julio Cesar.
Inter found their way back into the game when Wesley Sneijder served Forlan in the area and the Uruguay forward drove the ball into the bottom left corner where Carrizo was unable to get to it.
The goal lifted Inter's spirits and not long after, they were back on level terms.
Forlan acted as provider and found his fellow South American Milito in the box.
Argentinian Milito made no mistake and struck the ball past the Catania keeper.
With seconds to go Catania nearly claimed all three points but Julio Cesar did well to deny substitute Osariemen Ebagua's close-range effort.