World number six Alexander Zverev recovered from losing the opening set to beat Matteo Berrettini and win his second Madrid Open title.
The German came through 6-7 (8-10) 6-4 6-3 against the Italian world number 10, who had been seeking his maiden ATP Masters 1000 title.
Zverev, 24, had beaten Rafael Nadal and Dominic Thiem on his way to the final.
Berrettini, 25, saved one match point in the third set but Zverev showed his strength to claim victory.
"I feel awesome," Zverev said. "It's great. This is definitely a special win. I just want to enjoy it.