Defending champions Lyon claimed their fourth Women's Champions League title with a tense 7-6 win on penalties over Paris St-Germain in Cardiff.
Keeper Sarah Bouhaddi struck the winning spot kick after PSG stopper Katarzyna Kiedrzynek had missed at the Cardiff City Stadium.
PSG's Marie-Laure Delie missed from 10 yards with the best chance of a goalless 120 minutes.
Victory gave French league and cup winners Lyon a second straight treble.
The Cardiff crowd of 22,433 was the second-largest for a final since the competition rebranded as the Women's Champions League for the 2009-10 season.
They witnessed a match that was high on technical ability and defensive organisation, but low on goalmouth action and lacking a cutting edge in the final third.
But the game climaxed with a dramatic shootout which - after PSG's Grace Geyoro and Lyon's Eugenie Le Sommer had seen their efforts saved - went down to the keepers in sudden death.
Lyon's 7-6 win was a repeat of their 7-6 victory on spot kicks over PSG in the French Cup final on 19 May, and saw them equal German side Frankfurt's record of four European titles.
Arguably the most notable moment of a cagey first half was when Lyon's United States star Alex Morgan - who had been passed fit to start after a hamstring problem - was withdrawn after just 23 minutes, limping off with a recurrence of the same injury.
Lyon - playing in their sixth European final in eight seasons - improved after the break, but the 2017 BBC Women's Footballer of the Year, Ada Hegerberg, poked wide on the rebound after a close-range save from Poland goalkeeper Kiedrzynek.
Shortly afterwards, Delie had time in the penalty area to break the deadlock, but placed agonisingly wide for 2015 runners-up PSG, who have now lost in both of their European final appearances.
Defending champions Lyon had knocked out 2016 English league champions Manchester City in the semi-finals, while PSG had overcome Barcelona in the last four.
Olympique Lyonnais: Bouhaddi, Renard (c), Kumagai, Majri, Le Sommer, Marozsan, Hegerberg (Bremer 60), Buchanan, Abily, M'Bock Bathy, Morgan (Thomis 23 (Lavogez 108)).
Subs not used: Gerard, Houara-D'Hommeaux, Henning, Seger.
Paris St-Germain: Kiedryzynek, Delannoy, Diallo (Veronica Boquete 57), Cristiane, Lawrence, Paredes, Perisset (Morroni 90), Delie, Formiga, Geyoro, Cruz Trana (c) (Georges, 80).
Subs not used: Geurts, Boulleau, Baoudi.
Referee: Bibiana Steinhaus (GER)