The Italian won with a solo move on the Poggio climb with 6.4km left to the line in San Remo. He held off the sprinters, celebrating for a moment, with Australian Caleb Ewan (Mitchelton-Scott) leading just behind.
"For now, I can't really think about that this means, it was a little bit unexpected, but I believed in it up to the end," Nibali said.
"I was cold, calculating. I joined the Latvian champion [Krists Neilands] who asked for me to pull and I did. When I saw we had 20 or so seconds, on the last part of the Poggio, I decided to go hard. I was free, strong and holding it as far as I could. The last kilometres were endless – pure suffering."
His victory today is the first for an Italian in Milan-San Remo since Filippo Pozzato in 2006. Nibali had been the last Italian to place on the podium in 2012.
"I had a podium in the past, so I knew I could do something, that gave me hope," Nibali said.
"When I start races, though, I race to win. I was maybe a little bit behind in Tirreno-Adriatico last week, but it gave me that extra kick that I needed. I came here to Milan-San Remo knowing I had great condition.
"I thought Milan-San Remo maybe was out of my reach, not so adapted to my characteristics. I tried in the past on the Poggio, but always finding faster riders with me."
Sky's Michal Kwiatkowski, last year's winner, said that he was surprised the sprinters' teams did not work more to pull Nibali back.
However Nibali's first concern was working for sprinter team-mate Sonny Colbrelli and then, when he attacked, making sure he was solo and not with riders like Kwiatkowski, Greg Van Avermaet (BMC Racing) or Julian Alaphilippe (Quick-Step Floors).
"I was very cold and calculating. I knew I was working for the team. When I attacked, I knew I had to go alone, and it was that way," added Nibali.
"It was with my head, but also with my heart because to arrive like that after all those kilometres, and that weather, you needed a lot of faith."
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1