Japanese teenager Yuzuru Hanyu came back with a brilliant free skate Friday to become the first man in 12 years to win the Olympic and world figure skating titles in the same year.
The 19-year-old Hanyu, who trailed compatriot Tatsuki Machida by nearly seven points after the world championships short program in Saitama, Japan, produced a near-flawless free skate to finish with 282.59 points, just three-tenths of a point ahead of Machida.
Javier Fernandez of Spain was third with 275.93.
"That was very close," Hanyu said. "I work hard to become a skater who can always end with strong performances. I felt the responsibility to win the event."
Hanyu fell twice during the free skate at the Sochi Olympics but had no falls on Friday. Skating to Romeo and Juliet, he opened with a quad salchow and followed with a quad toeloop.
His only deduction came on the triple flip and he got extra points on five straight jumps.
The men's Olympic-worlds double was last achieved by Alexei Yagudin in 2002.
Machida captured his first major medal with a graceful performance to Stravinski's Firebird.
"I showed everything I have at this moment," Machida said. "I tried to perform without caring about the score or ranking but it got into my head and I had a really tough four minutes."
Fernandez, who was fourth in Sochi, was deducted points when he singled a planned triple lutz.
"I popped the triple lutz," Fernandez said. "And I didn't do my quad salchow triple toeloop combination, but still it was a good program even though Yuzuru did better than me."
Kevin Reynolds (215.51) of Coquitlam, B.C., came 11th (215.51), Toronto teenager Nam Nyguen (214.06) was 12th and Elladj Balde (195.39) of Pierrefonds, Que., finished 18th overall.
Canada's Weaver, Poje 2nd after short dance
European champions Anna Cappellini and Luca Lanotte of Italy finished first in the ice dance short program.
Cappellini and Lanotte received 69.70 points to edge Kaitlyn Weaver and Andrew Poje of Waterloo, Ont., by just .50 points. French skaters Nathalie Pechalat and Fabian Bourzat were third with 68.20 points.
Toronto's Piper Gilles and Paul Poirier of Unionville, Ont., were 10th with 59.42 points. Alexandra Paul of Midhurst, Ont., and Mitchell Islam of Barrie, Ont., scored 57.68 points for 11th place heading into Saturday's free dance.
Defending champions and Olympic gold medallists Meryl Davis and Charlie White of the United States are not taking part, nor are Canada's Tessa Virtue and Scott Moir.