The Spaniard secured his emotional, long-sought triumph over England's Rose, the 2016 Rio Olympic games winner and 2013 US Open champion, after they ended even on nine-under par 279 after 72 holes at Augusta.
South African Charl Schwartzel was third on six under, one shot clear of American Matt Kuchar and Belgian Thomas Pieters in joint fourth on four under.
Garcia became the third Spaniard to win the Masters - after Seve Ballesteros and Jose Maria Olazabal - on what would have been the 60th birthday of his idol Ballesteros, who died of brain cancer in 2011.
"It is amazing," said Garcia, who is now in the world top ten.
"To do it on his 60th birthday, it is something amazing.
"It has been such a long time coming. I knew that I was playing well, I felt the calmest I have ever felt in a major."
Rose had to be content with a fifth top ten finish at the tournament.
"It is disappointing to come so close. I felt in control until the end.
"But I am really happy for Sergio. I would love to be wearing the Green Jacket but if it was not me then I am glad it is him."