He celebrated with a call to "put emotion back into music".
Along with singers from Italy and Bulgaria, Sobral was a favourite going into the final of the annual song fest, which was hosted in the Ukrainian capital Kiev, and he led the voting throughout the evening.
Portugal finished ahead of Bulgaria and Moldova.
A soft-spoken, 27 year-old with a scraggly beard, Sobral won with "Amar Pelos Dois" ("Love For Both of Us"), sung in his native Portuguese.
This is the first time Portugal won since it first entered the contest in 1964.
After being announced as the winner, Sobral performed the ballad again, this time in duet with his sister Luisa.
"Music is not fireworks, music is feeling," he said after winning. "Let's put emotion back into music."
Asked later at a press conference whether he was now a national hero, he said: "Honestly man I just want to live a peaceful life, if I thought of myself as a national hero it would be a bit weird, you know."
Russia boycotted this year's event after Ukraine barred its contestant from entering the country.
The UK finished 15th - the country's best performance for six years.
Enter a name and e-mail address and we will e-mail this website link too them.