AC Milan need four points from their final four matches to be crowned Italian champions for the 18th time following Saturday's hard-fought 1-0 win at Brescia.
They lead reigning champions Inter Milan by eight points, but due to their better head-to-head record, need only another win and a draw to lift the Scudetto crown.
Inter moved above Napoli into second place as the former beat Lazio 2-1 and the latter lost by the same scoreline at Palermo. Napoli are now nine points back in third and must concentrate on hanging onto that place to ensure they go straight into next season's UEFA Champions League group stages.
Robinho scored the only goal of the game for Milan eight minutes from time on a counter-attack as Brescia's defence broke down, allowing Antonio Cassano to pick out the Brazilian, who slipped the ball home.
Cassano had missed three glorious opportunities for a wasteful Milan, while Alessandro Diamanti had hit the bar for the hosts, who remain second from bottom and five points from safety.
Coach Massimiliano Allegri insisted it was too soon to start celebrating, though. "We can't start celebrating yet, we're just thinking about having a nice Easter," Allegri said.
Napoli coach Walter Mazzarri admitted his side doesn't have the character to win the Scudetto. "When we get close to an achievement some horses stay calm because they're used to it and others are worn out by nerves," Mazzarri said. "Those who know football know this. There are those who have been fighting for certain things for years and know how to manage their emotions."
Napoli were handed a penalty after just two minutes when Mattia Cassani inexplicably handled the ball in the box. Edinson Cavani made no mistake from the spot, unlike last week against Udinese, as he scored his 26th Serie A goal of the season to move level with Udinese's Antonio Di Natale at the top of the league scoring charts.
But Palermo, buoyed by their Italian Cup draw away to Milan in midweek, hit back and Cassani made amends by crossing for Federico Balzaretti to thrash home a crisp finish from the left. And, the hosts took the lead on the stroke of half-time in bizarre and controversial fashion.
Giulio Migliaccio burst into the box past two Napoli players only to fall to the ground under apparent contact from Christian Maggio. Antonio Nocerino crashed home the loose ball, but the referee had already signalled a penalty. It made no difference, though, as Cesare Bovo put the Sicilians in front from 12 yards.
Ten-man Inter fight on
Inter's faint title hopes may have all but ended in last week's defeat at Parma but Leonardo's team proved against Lazio that they're still going to fight to the end.
"Nothing is over in the league, having seen the results anything can happen," said the eternally optimistic Inter coach Leonardo.
Inter looked headed for a disastrous afternoon when goalkeeper Julio Cesar brought down Mauro Zarate for a penalty midway through the first half. Although Andrea Ranocchia had got back onto the line, the referee dismissed the Brazilian keeper and Zarate added injury to insult by slotting home from the spot.
With a goal and man advantage, Lazio looked set to leapfrog Inter into third place courtesy of a better head-to-head record, but instead the champions showed their mettle.
Wesley Sneijder curled home a sumptuous free-kick five minutes before the break and then after half-time Samuel Eto'o pounced on a slip by Giuseppe Biava to round Fernando Muslera in the Lazio goal and shoot home. The referee then evened up the numbers by showing a straight red card to Lazio captain Stefano Mauri for what seemed a minor foul on Inter's Japanese full-back Yuto Nagatomo.
Udinese failed to capitalise on Lazio's slip as they lost 2-0 at home to Parma, while Roma closed to four points off Lazio with a 1-0 victory against Chievo.
At the bottom, Bari were relegated to Serie B following their 1-0 defeat at home to Sampdoria, who moved out of the drop zone due to their better head-to-head record with Lecce, 4-2 losers at Genoa.