Ganna built his time on a strong opening section into a blustery headwind and then consolidated his gains on the run back to Imola to take the win by 26 seconds ahead of van Aert.
"It's a dream for me and I'm really happy," said Ganna, "at the finish, I had really good support from the car and I have to give my personal thanks to Italy and my team INEOS Grenadiers.
"I've worn the rainbow jersey on the track, this is my first for the time trial. I want to celebrate it with my family."
Ganna had to surpass earlier fast times on the flat course, with Geraint Thomas (Great Britain) setting a strong time before it was passed late by van Aert and Kung, with Ganna relegating the 2018 Tour de France champion from the podium.
Australian two-time winner and defending champion Rohan Dennis was second-fastest at the first intermediate split, 20 seconds down on Ganna, but wasn't able to up the pace into the finish line, ending up 39 seconds behind his trade teammate from INEOS Grenadiers and slipping to fifth overall.
Luke Durbridge (Australia) finished in 15th, a minute and 36 seconds in arrears of Ganna's mark.