Spanish champions Real Madrid beat UEFA Cup holders Zenit St Petersburg 2-1 in a thrilling Champions League Group D clash in Russia, while BATE Borisov drew 2-2 at home to Italian giants Juventus in their match.
An end-to-end match was by the hosts, but Real rebuffed them with an admirable rearguard action and several excellent saves by Iker Casillas.
The second half in particular saw Dick Advocaat's men pile the pressure on Madrid. Andriy Arshavin hit the woodwork and his team-mates spurned countless chances, but a backs-against-the-wall performance from Bernd Schuster's men saw them hold on for the three points.
Real took the lead in the fourth minute after Tomas Hubocan turned Rafael van der Vaart's low cross into his own net.
The early phase of the match had Zenit committing basic defensive errors while not getting their usual attacking rhythm going. Real could have been three up before the hosts got their act together, with Gonzalo Higuain, Ruud Van Nistelrooy and Sergio Ramos all going close.
But Zenit woke up and tore Madrid apart in every way apart from the result. Arshavin twice and Pavel Pogrebniak both had opportunities before Portuguese midfielder Danny Alves turned home a superb Arshavin cross on 24 minutes.
Czech wide-man Radek Sirl gave Sergio Ramos a torrid time with his running, crossing and shooting, while Arshavin's guile and Pogrebniak's directness tested Fabio Cannavaro and Pepe to the maximum.
It was Real, however, who scored next. Just after the half hour, Van der Vaart tried to drill a low ball into the Zenit box. It took a deflection and landed in the path of Van Nistelrooy, who scuffed a low shot past Vyacheslav Malafeev and into the bottom right.
It proved to be an unlikely, lucky winner.
Pogrebniak, Danny, Hubocan and - on several occasions - Arshavin had great chances to level, but for all their pressure and exciting play the Russian side could not force another goal. Madrid had their chances, usually one for every three Zenit attempts and always on the break.
The introduction of Fatih Tekke and Alejandro Dominguez stretched Los Merengues even further. Both had great opportunities to score, but Madrid somehow held on for a win that put them top of the group.
BATE Borisov 2-2 Juventus
Vincenzo Iaquinta scored a first-half double to help Juventus salvage a 2-2 draw at Belarusian minnows BATE Borisov.
Italy forward Iaquinta saved the Serie A side's blushes by nodding in a Sebastian Giovinco cross in the 29th minute and firing through the legs of BATE keeper Sergei Veremko on the stroke of half time.
The hosts had taken control with goals by Sergei Kryvets and Igor Stasevich on 17 and 23 minutes.
After two matches Juventus, who beat Zenit St Petersburg 1-0 in their opener, are second in Group H with four points, two behind leaders Real Madrid.
BATE made a fearsome start and Kryvets gave them a deserved lead when he ran on to a long pass, rounded Alexander Manninger and slipped the ball into an empty net.
Stasevich headed past an immobile Manninger, standing in for Italy keeper Gianluigi Buffon, after Pavel Nedved failed to cut out a Pavel Nekhaychik cross to double the lead.
Both sides pressed forward after Iaquinta's double, which made for a lively, albeit goalless second half, with twice European champions Juve having the better chances.
The draw lifts BATE, in the Champions League proper for the first time, off the bottom of Group H, giving them a one-point advantage over Zenit.