Serie A leaders Inter Milan suffered a 2-1 defeat at Chievo after conceding two penalties and being reduced to 10 men for the final hour of the game.
Hector Cuper's side are still three points clear at the top of Serie A but they could be joined by Juventus and AC Milan if the two challengers can pick up maximum points on Sunday.
Fifth-placed Chievo went ahead in the 22nd minute when referee Salavatore Racalbuto harshly ruled that Inter defender Fabio Cannavaro had handled a shot from Sergio Pellissier before Chievo captain Eugenio Corini converted the spot kick.
It was another disputed decision that handed Chievo their second penalty in the 36th minute when Pellissier went down after contact with Inter's Argentine defender Javier Zanetti.
To add to Inter's anger over the decision, their Turkish midfielder Okan Buruk was sent off for his protests. The delay did little to unnerve Chievo Corini, who again calmly slotted the spot kick past Francesco Toldo.
Despite being down to 10 men for the rest of the game Inter dominated the second half and pulled a goal back in the 70th minute.
Cannavaro headed down a free kick launched into the area by Alavaro Recoba and Christian Vieri fired home his 19th goal of the season from close range.
The strike was Vieri's 100th goal in Serie A and he almost added to that tally in the 89th minute when his thundering shot from an indirect free kick was superbly saved by Chievo keeper Cristiano Lupatelli.
Corini was himself sent off in the fourth minute of time added on, for a second bookable offence, as Inter searched in vain for an equaliser.
Referee Racalbuto was at the centre of controversy involving Chievo last month when he awarded three penalties to Juventus in their 4-1 win in Verona.
Juventus are away to Parma and AC Milan host Lazio on Sunday.