Midfielder Arturo Vidal scored the winner in the second half but, to add to the controversy, Juventus striker Nicklas Bendtner appeared to be fractionally offside when he had a shot saved in the move leading to the goal.
There was more controversy at Fiorentina where Lazio had a goal harshly disallowed and two players sent off on their way to a 2-0 defeat.
AS Roma, who last week came from two goals down to win 4-2 at Genoa, this time did the opposite as they squandered a two-goal lead at home to Udinese and lost 3-2.
Zdenenk Zeman's wildly unpredictable side also lost 3-2 at home to Bologna earlier in the season after leading 2-0.
Title-holders Juventus have 25 points from a possible 27 after extending their unbeaten Serie A record to 48 games, a run which began at the end of the season before last.
Napoli are three points behind in second place after Marek Hamsik gave them a 1-0 win at home to Chievo while Inter are a further point back in third place following their 3-1 win at Bologna.
Andrea Ranocchia, Diego Milito and Esteban Cambiasso shared the goals as Inter chalked up their seventh consecutive win in all competitions.
Cagliari notched their third successive 1-0 win, this time away to fading Sampdoria, while Parma won 3-1 at Torino and Pescara were held to a scoreless draw at home by Atalanta.
Catania will feel enormously hard done by after having a 26th minute goal disallowed at a point when they were dominating Juventus.
Giovanne Marchese's cross was headed on to the post by Nicolas Spolli and Gonzalo Bergessio easily snapped up the rebound with no hint of offside or foul play by the home attack.
But as Catania players and the crowd were celebrating the goal, the linesman flagged and the referee disallowed the goal amid angry protests from the home side.
Catania had four players booked in quick succession after the incident as they came close to losing their heads and club president Antonino Pulvirenti was ordered from the team bench for dissent.
Goalkeeper Mariano Andujar, one of seven Argentines in the Catania starting line-up, denied Juventus a half-time lead with a miraculous point-blank save from Mirko Vucinic.
Juventus made the most of their let off as they took control after half-time and went ahead just before the hour.
Andrea Pirlo found Bendtner inside the area and although the Dane, who appeared to be marginally offside, shot weakly, Andujar failed to hold the ball and Chile midfielder Vidal scored from the rebound.
Marchese was sent off in the 66th minute for deliberate handball.
The controversy will keep Juventus firmly in the spotlight after president Andrea Agnelli's comments on Friday that Italian football needed drastic reform.
"We support a structural ref
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.