“We’ve been waiting for this day for a long time, all agreeing on the outcome. Now the contract has been signed, it’s official,” the team said in a statement.
“Great news for all the Red and Black fans, for one of the best players in the past season.”
Suso joined the club from Liverpool in January 2015 going on loan to Genoa early in 2016 where he had a successful spell scoring his first hat-trick.
The attacking midfielder returned to Milan for the start of the 2016-17 season and was a key player under coach Vincenzo Montella, earning a call up to the Spain squad.
“This will always remain one of the most important days of my life,” said Suso.
“I’ve extended my bond with Milan until 2022, and to do it with my family, my partner and my agent and my partner by my side filled me with emotion.
“A particular, special thank you to the Milan directors. I’ll do everything for this shirt, as I’ve always done. Forza Milan, always.”
Suso has made 50 appearances for Milan, scoring 10 goals. He also set up Milan’s equaliser in the Italian Super Cup victory against Juventus in Doha before converting his penalty in the shootout.