ROME - Juventus recorded only their third league win of the season with a 2-0 triumph over Atalanta, while Lazio defeated Torino 3-0.
Gonzalo Higuain scored the only goal of the game as Napoli defeated Chievo 1-0 away. Left back Faouzi Ghoulam crossed for the Argentine striker, who took the ball in his stride and sent a powerful left-footed shot past Albano Bizzarri on 59 minutes.
The win takes Napoli up to second, level on points with Fiorentina, Inter Milan and Lazio, while Chievo drop to 11th.
Sampdoria trounced Verona 4-1 and AC Milan, who gave a debut to 16-year-old goalkeeper Gianluigi Donnarumma, beat Sassuolo 2-1.
Salah spent part of the last campaign on loan at Fiorentina from Chelsea, but rejected the chance to rejoin his former club in order to move to Roma in the close season.
He duly received a hostile reception upon his return, but silenced the home supporters with a magnificent effort on six minutes.
Cutting into the box from the right, Salah hit a left-footed shot which curled across Ciprian Tatarusanu's goal and into the net.
Fiorentina had not conceded a goal at home in Serie A this season before Salah struck, but Gervinho added another on 34 minutes to condemn Paulo Sousa's side to their second straight league defeat.
Salah was sent off on 87 minutes after first receiving a yellow card following a tussle with Facundo Roncaglia, and then immediately being shown a second after showing dissent with a gesture towards the referee. Khouma Babacar scored a consolation goal in the fourth minute of stoppage time.
Paulo Dybala gave Juventus the lead against Atalanta on 28 minutes when he duped Marco Sportiello with a swerving 25-yard shot, before crossing for Mario Mandzukic to score his first Serie A goal on 49 minutes.
Atalanta's Rafael Toloi was sent off and Paul Pogba's penalty was saved by Sportiello during an eventful second half. The win takes Juve up to 12th place.
Donnarumma became the youngest goalkeeper to make a debut in Serie A for 35 years, as Milan sought their first Serie A clean sheet of the season against Sassuolo.
It was not to be. Domenico Berardi's magnificent free kick for Sassuolo cancelled out Carlos Bacca's first-half penalty, before Luiz Adriano scored Milan's second at the death.
Victory takes Milan to 10th on 13 points, with Sassuolo on 15 points.
Lazio moved into fourth after defeating Torino 3-0 following a Senad Lulic effort and a Felipe Anderson double, Sampdoria beat winless Verona 4-1 to go seventh and Udinese defeated Frosinone 1-0.