The 32-year-old Mexican was clearly on top for the final eight rounds, and was handed the clear victory with scores of 116-112, 115-113 and 115-113.
After a tentative start from both fighters, Canelo found his pace in the third and controlled the fight from there.
Golovkin did well to survive to the final bell, but the result never really looked in doubt.
The 40-year-old previously said he intended to carry on boxing irrespective of whether he won or lost the career-defining fight.
The only blemishes in Golovkin's storied 44-fight career have come against Alvarez - a draw in September 2017 and a narrow points loss 12 months later - and now a second loss for the Kazakh.
He was fighting at 168lb for the first time in his career, making his first significant foray out of the 160lb middleweight division in which he has won multiple world titles to challenge his bitter Mexican rival.
The pair embraced in the ring following the bout.
"Thank you my friend, we gave the fans three great fights," said the Mexican.
Golovkin said: "I want to shake hands with Canelo. Congrats to all his team. He's a real warrior - if you don't understand that, you don't understand nothing."