Antonio Conte's side were far from their brilliant best but still managed to emerge victorious thanks to goals from Vidal, Fernando Llorente and Paul Pogba
Sinisa Mihajlovic's men were the last side to win in the league at the Juventus Stadium last January, but they were unable to repeat the feat as Sampdoria lost for just a second time in eight league games.
After setting a new club record last time out with their 11th successive league win, Antonio Conte's side made the ideal start as Vidal netted the opening goal 18 minutes in, applying a delightful dinked finish to Paul Pogba's throughball.
It was the Chilean's third goal in his last four Serie A games and five minutes later league leaders Juve doubled their lead through Fernando Llorente.
The Spaniard rose highest to head home from a Carlos Tevez corner before Sampdoria were handed a lifeline thanks to Andrea Barzagli's 38th-minute own goal.
It was the first goal Juve had conceded at home in the league since October, although Vidal soon scored his second from the penalty spot after being tripped in the area by Vasco Regini.
Juventus' co-owned striker Manolo Gabbiadini pounced on Gianluigi Buffon's parry to score before Pogba's swerving long-range effort gave Angelo Da Costa no chance as Juve completed the double over the visitors.
Conte chose to rest Andrea Pirlo and Leonardo Bonucci, with Claudio Marchisio and Angelo Ogbonna replacing them, while Barzagli returned from suspension at the expense of Martin Caceres.
Roberto Soriano and Nenad Krsticic were both missing due to suspension for Sampdoria, although Pedro Obiang returned from a ban.
Conte's men began the brighter, winning back and retaining possession well, without creating a host of clear-cut chances.
Tevez had the hosts' first effort, firing narrowly over from an acute angle, before Vidal eventually broke the deadlock.
Pogba slipped the Chile international in and the midfielder registered his ninth Serie A goal of the season by flicking the ball past Da Costa.
It got better for Juve shortly after, when Llorente headed his fourth goal in as many games - and it could have been three before the half-hour mark had Tevez's fierce drive not struck the post.
Sampdoria were given hope when Barzagli got a touch on Gabbiadini's cross and diverted it past Buffon seven minutes before the break, but the two-goal cushion was soon restored when Vidal converted his penalty.
After a goal-packed first half, the second period began at a much slower pace, but the visitors threatened an upset when Gabbiadini tapped home 20 minutes from time.
The 22-year-old almost levelled soon after when his stunning long-range effort hit the crossbar, but Pogba's sixth Serie A goal of the season ensured Juve maintained their 100 per cent record at home in the league.