Salah impressed on loan for the second half of the 2014-15 season at Fiorentina but agreed to join Roma on loan for the current campaign — much to the fury of La Viola.
The Egypt international opened the scoring six minutes in before Gervinho netted 11 minutes from the interval, but Salah was sent off 87 minutes in for a second bookable offence.
Fiorentina rallied but Khouma Babacar’s 94th-minute goal was too little, too late as they lost top spot to the Giallorossi.
Juventus recorded only their third league win of the season by beating 10-man Atalanta 2-0.
Paulo Dybala and Mario Mandzukic had given Juventus a comfortable lead before Atalanta defender Rafael Toloi was sent off for a second booking, leaving the visitors with 10 men for the final 16 minutes.
Atalanta goalkeeper Marco Sportiello saved a penalty by Paul Pogba shortly afterward.
AC Milan remained a point ahead of Juventus after beating 10-man Sassuolo 2-1, as Gianluigi Donnarumma, 16, became the youngest ever goalkeeper to start a Serie A match.
Felipe Anderson scored twice in the second half as Lazio beat Torino 3-0 to remain perfect at home this season.
Senad Lulic put the Romans ahead at the Stadio Olimpico in the 40th minute with a right-footed shot from the heart of the area.
Toro had chances to pull level but it was Lazio who found the net again in the 70th minute. Miroslav Klose set up Anderson in the box and his diagonal strike beat Toro keeper Daniele Padelli.
With seconds remaining, Anderson drilled a right-footed shot from outside the area past Padelli for Lazio’s third.
The win has lifted Lazio to 18 points. They are level with Fiorentina and Inter Milan and two points adrift of new Serie A leaders Roma.