Juve emphatically ended a run of indifferent form, dominating throughout and denting Samp's hopes of being title contenders with goals by Giorgio Chiellini, Mauro Camoranesi, David Trezeguet and an Amauri double.
The Turin side have 21 points from 10 games, one fewer than leaders Inter Milan, who can stretch their advantage if they beat Palermo at the San Siro on Thursday, and one more than Sampdoria.
Napoli salvaged a remarkable draw thanks to Luca Cigarini's 90th-minute volley and German Denis's stoppage-time header after Milan had led from the sixth minute with strikes by Filippo Inzaghi and Alexandre Pato.
Milan are now joint fifth with 16 points alongside Genoa, who beat Fiorentina 2-1 at home, while promoted Parma climbed to fourth on 17 with a 2-0 home win over Bari.
Juventus made a cracking start with fluent one-touch football and Amauri pounced when the ball bounced around after a corner to set them on their way in the 26th minute.
Defender Chiellini got on the end of a cross to score shortly before the break, while Camoranesi rifled in and Amauri was on target again with a header to put the result beyond doubt in the second half.
The brace was the forward's fourth goal in three games after he ended a scoring drought which stretched back to February.
Frenchman Trezeguet completed the rout after Giampaolo Pazzini had pulled one back for the visitors.
"Everything worked perfectly," Juve coach Ciro Ferrara said. "We scored five goals, but more than that it was the desire the lads showed, the way they would not give anything away right until the end.
"We'd had some negative results and that might have been conditioning the team. I hope to continue like tonight. It won't be easy, but this is the Juventus spirit."
Milan looked on course for their fourth successive win in all competitions when Inzaghi belted home an early goal before using his head to set Pato up from half way for the Brazilian to make it 2-0 with a cool finish.
But the home team pressed hard for an equaliser and Milan only held out as long as they did thanks to a series of exceptional saves by goalkeeper Dida.
They caved in after Ignazio Abate was sent off four minutes from time for a second yellow card after a nasty tackle on Walter Gargano.
The Roman clubs continue to struggle in the lower half of the table.
AS Roma suffered their third consecutive league defeat when they went down 2-1 at Udinese, with Antonio Floro Flores scoring a double, in match that both teams finished with 10 men.
Lazio, who have not won in Serie A since August, lost 1-0 at home to Cagliari after a blunder by goalkeeper Fernando Muslera gifted the winning goal to Alessandro Matri.