Del Piero scored in the 17th minute by curling a left-footed shot beyond goalkeeper Iker Casillas at Santiago Bernabeu stadium.
The veteran capped Juve’s first success in the Spanish capital in 46 years by scoring from a free kick in the 67th minute.
Meanwhile, 10-man Zenit St Petersburg claimed their first win — 2-0 — in the same group at the expense of hosts BATE Borisov.
Goals in each half from Pavel Pogrebniak and Miguel Danny were enough to lift Zenit off the foot of the standings, even though they played the last 17 minutes with 10 men following the dismissal of Sebastien Puygrenier.
In the same group as Man Utd and Celtic, Villarreal were frustrated in their attempts to claim a place in the last 16 as they were held by a battling AaB in Denmark.
Despite twice taking the lead through Giuseppe Rossi and Guillermo Franco, the visitors were pegged back by replies from Jeppe Curth and Anders Due which earned the Danes only their second point in Group E.
Lucho Gonzalez scored a stoppage-time winner for Arsenal’s group rivals Porto before being sent off as the Portuguese champions came from behind to beat Dynamo Kiev 2-1 in the Ukraine capital.
Hosts Kiev put themselves in the driving seat in the 21st minute when Artem Milevskiy scored.
But Porto fought back with second-half goals from Rolando and then Lucho to win the game and move into second place in Group G.
Tim Borowski scored a late goal to earn Bayern Munich a 1-1 draw at Fiorentina in Group F and put the Germans on the brink of the last 16.
The unmarked midfielder controlled a Franck Ribery cross from the left and tapped in 12 minutes from time to give the Germans a barely-deserved share of the spoils. Adrian Mutu had volleyed the home side in front in the 11th minute after Alberto Gilardino glanced on Luciano Zauri’s ball from deep.
Lyon maintained their unbeaten record in the same group with a 2-0 home win over Steaua Bucharest.
The seven-times French champions, who had recovered from two goals down for a thrilling 5-3 win at Steaua two weeks ago, did it the easy way this time thanks to a Juninho free kick just before the break and a late Anthony Reveillere effort.