Visibly shaken and with gauze wrapped around his head, the reigning Olympic and world champion decided to stay in the competition and struggled through his program, falling five times.
He nearly won the title anyway.
Maxim Kovtun of Russia landed just enough jumps to take the gold with 243.34 points, less than six points ahead of Hanyu in second (237.55).
Nam Nguyen, a 16-year-old from Toronto, was fourth.
Hanyu was skating backward at a high speed during the warm-ups when he collided with defending champion Yan Han of China and went down hard on the ice. He lay for several seconds on his back before being helped up and receiving treatment from doctors.
Both skaters returned moments later to compete with matching bandages on their chins.
Yan tumbled on his opening two jumps and popped his third, eventually finishing in sixth place.
Hanyu's program appeared even worse, with falls on his quad Salchow and quad toe loop at the start and three more spills toward the end. He was showered with stuffed bears and flowers from the crowd and then broke down in sobs when his scores appeared, showing him in first place.
Kovtun followed with his program next, skating just cleanly enough to knock him down to second.
Nguyen, who was sixth after the short program, opened with a quad Salchow followed by a triple Axel. He singled his second planned triple Axel, but rebounded to land another one seconds later
"I was happy I was able to come back and pull it off," Nguyen said of the Axel. "For me there was no question about whether I would attempt it again in the program. It's a jump I have a lot of confidence with."
Hanyu, meanwhile, received stitches on his head and chin and was checked for a concussion after the competition. His coach, Canada's Brian Orser, said he would fly back to Japan on Sunday to receive further treatment.
"I know that tomorrow he's going to feel like he was hit by a car," he said. "Both of these boys are going to feel awful."
Orser, who also coach Nguyen, said he allowed Hanyu to compete because he wasn't exhibiting any physical signs of a concussion after the crash — his eyes were clear and he was speaking normally, even making jokes.
"He was immediately determined he wanted to compete, and for me, I wanted to make sure he was healthy enough," he said. "I told him, 'This is not the time to be a hero. You have to take care of yourself.'"
The crash even had an effect on Kovtun, who said he couldn't concentrate on his own preparations and put in a flawed performance.
"When they suspended the warm-up, my coach tried to calm me down," he said. "It was hard for me to pull myself together."
American Richard Dornbush finished third.
In the ladies competition, Russian Elizaveta Tuktamysheva won her fourth event of the season, while her countrywoman Julia Lipnitskaia fell apart in her free skate and slipped to second after leading following the short program.
Gabrielle Daleman of Newmarket, Ont., was fifth.
"I wasn't nervous, I felt confident," the 16-year-old said. "I knew going in it was going to be a tough competition but I felt ready."
Tuktamysheva is starting to fulfil the promise she showed at the age of 12, when she broke onto the scene with a runner-up finish at the senior Russian championships. Although she's had some success since then, her progress has been slowed by injuries, growth spurts and inconsistent results.
Now nearly 18, Tuktamysheva is finding confidence on the ice again — something she credited to her coach's decision to skate a heavy schedule of events this season.
"I felt it had to be this way. I had a long break and I needed to polish my elements and my programs in competition," she said.
Lipnitskaia, the world silver medallist , fell on a triple Salchow and never recovered. She put her hands down on a triple flip, popped two other triples, and didn't complete a triple-double combination.
The 16-year-old still finished second ahead of Japan's Kanako Murakami, but that was hardly a consolation.
"I don't really know what happened," she said. "That was the worst skate of my life."
In the ice dancing, France's Gabriella Papadakis and Guillaume Cizeron won the gold after the reigning world champions, Anna Cappellini and Luca Lanotte of Italy, had a rare fall during their routine. Lanotte's boot collided with his partner's and he lost his balance and fell to the ice.
"It was really unexpected," Cappellini said. "It hasn't happened to us in a long time to make a mistake like that in competition."
American siblings Maia and Alex Shibutani led after the short dance but lost points on their rotational lift and other elements, finishing second, just ahead of the Italians. Alexandra Paul of Midhurst, Ont., and Mitchell Islam of Barrie, Ont., were fifth.
China's Peng Cheng and Zhang Hao took the gold in the pairs event, leading a Chinese sweep of the podium. Yu Xiaoyu and Jin Yang were second, followed by Wang Xuehan and Wang Lei in third.
Natasha Purich of Sherwood Park, Alta., and Andrew Wolfe of Calgary were sixth.
— With files from The Canadian Press.