Sergio Ramos' late penalty helped secure Real Madrid a 3-2 victory at Real Betis, who finished the LaLiga match with 10 men.
Federico Valverde put the defending champions in front from close range after 14 minutes, before Betis, managed by former Los Blancos boss Manuel Pellegrini, hit back.
Aissa Mandi headed in an equaliser after 35 minutes and William Carvalho added a second just two minutes later when he drilled past Thibaut Courtois.
An own goal from full-back Emerson levelled things up early in the second half, and Karim Benzema then saw his effort ruled out for offside.
In the 67th minute, Emerson was sent off for a second caution after foul on Luka Jovic, which was given after a VAR review and the referee checking the pitchside monitor.
With 10 minutes left, Madrid were awarded a penalty after VAR picked up a handball from Marc Bartra as the defender fell and Ramos coolly dispatched the spot-kick.
Earlier, Real Sociedad won 3-0 at Elche, where all the goals came in the second half – including a penalty from former Manchester United midfielder Adnan Januzaj.
Imanol Alguacil's men, who had held Real Madrid to a 0-0 draw last weekend, sit third in the table, while Elche are bottom.
Elsewhere, Huesca fought back to draw 1-1 at Valencia and it finished goalless between Alaves and Getafe.
In Serie A, Danilo D'Ambrosio's late goal settled a seven-goal thriller as Inter beat Fiorentina 4-3 in their season opener at the San Siro.
Christian Kouame put La Viola ahead from close range after only three minutes but, after Inter saw a penalty overturned by VAR, Lautaro Martinez equalised following a breakaway on the stroke of half-time.
An own goal from Federico Ceccherini saw the Nerazzurri retake the lead, before two goals in the space of five minutes from Fiorentina duo Gaetano Castrovilli and Federico Chiesa looked to have put the match to bed at 3-2.
Antonio Conte's men, though, rallied as Romelu Lukaku levelled things up with three minutes to go and defender D'Ambrosio sealed a dramatic victory when he headed home a corner in front of 1,000 fans.
Defender Luca Caldirola scored twice as Benevento completed a remarkable comeback from 2-0 down to beat Sampdoria 3-2.
Benevento, dominant winners of Serie B last season, found themselves trailing to early goals from Fabio Quagliarella and Omar Colley.
Caldirola started the fightback when he knocked the ball in from a corner after 33 minutes, before heading in an equaliser with 18 minutes left. Gaetano Letizia then snatched an 89th-minute winner for the visitors.
Atalanta won 4-2 at Torino. Andrea Belotti gave the home side the lead, but Alejandro Gomes equalised after 13 minutes.
Luis Muriel and Hans Hateboer looked to have put Atalanta in control at 3-1, but Belotti swiftly reduced the deficit heading into half-time before Dutch midfielder Marten De Roon settled matters after 54 minutes.
Manuel Lazzari and Ciro Immobile were on target in each half as Lazio opened the campaign with a 2-0 win at Cagliari.
In the Bundesliga, Augsburg pulled off an unexpected 2-0 home win over Borussia Dortmund to maintain their perfect start to the new campaign.
Felix Uduokhai headed the Bavarians in front five minutes before half-time, with Daniel Caligiuri doubling the lead early in the second half.
Arminia Bielefeld secured their first win since returning to the top flight as Joan Simun Edmundsson's goal with 12 minutes left gave them a 1-0 home victory over Cologne.
Stuttgart got their Bundesliga campaign up and running with a 4-1 win at Mainz, with both teams finishing with 10 men.
Robin Quaison headed the home side in front after 13 minutes, but Stuttgart forward Silas Wamangituka equalised just before the break.
Daniel Didavi added a second on the hour, before Mainz defender Moussa Niakhate picked up a second yellow card and was sent off in the 77th minute.
Mateo Klimowicz and substitute Sasa Kalajdzic scored late goals to wrap things up, with Stuttgart then losing Pascal Stenzel to a red card in stoppage time.
Niclas Fullkrug's hat-trick helped Werder Bremen win 3-1 at Schalke.
Schalke defender Ozan Kabak was sent off late on, with a stoppage-time goal from Mark Uth providing little consolation for David Wagner's side, who were beaten 8-0 by Bayern Munich on the opening day and sit bottom of the table.
Bayer Leverkusen were held 1-1 at home by RB Leipzig, while a late goal from Nico Schlotterbeck secured Union Berlin a 1-1 draw at Borussia Monchengladbach.
In Ligue 1, Rennes maintained their unbeaten start with an impressive 3-0 win at previously-undefeated St Etienne to move clear at the top of the table.
Summer signing Nayef Aguerd headed the visitors in front from a corner after 33 minutes and Serhou Guirassy doubled the lead early in the second half with an acrobatic over-head kick.
Substitute Adrien Hunou lobbed in a late third as unbeaten Rennes made it four straight league wins to go two points ahead of Lille and hand St Etienne a first defeat.
Saturday's late match saw Marseille grab a 1-1 draw at home to Metz with a last-minute goal from Morgan Sanson.