The riders were forced into a prudent approach given the rain-slick urban streets and cobbled surfaces as the top five on the day were separated by just eight seconds.
Evenepoel's supposed main rival Roglic finished 17 seconds down on a day he was wearing his Olympic time-trial champion's golden helmet.
The Team Jumbo leader Roglic had been trailing by a far wider margin but rallied over the final section to limit his damages.
The biggest surprise of the tricky stage nine was the 2018 Tour de France champion Thomas who timed 41min 25sec, one second slower than Evenepoel but one second faster than his teammate Hart.
Thomas won the 2020 Giro time trial in Sicily only to crash out a few days later as his teammate Hart went on to lift the title.
The world champion and Vuelta winner Evenepoel said he had had a bad day and was looking forward to a good day off on Monday.
"I started too fast and suffered a little midway, but I got my legs back in the end," said the Quick Step rider who complained about the wind.
"It's not the best result, but I won even if it wasn't a top performance."
"I wasn't feeling too well in the second part with the headwind. It's another stage win but it wasn't my best time trial. To go to the mountains with the advantage I have now is pretty good but Ineos for sure will have some plans to attack me," he added.
"But we have a strong team and a lot of confidence. Tomorrow I will have to recover well because my last two stages weren't my best days. Firstly I want to enjoy this victory."
Another man who had been tipped to win on this pizza-flat route was Ineos speed king Filippo Ganna, who pulled out ahead of Saturday's stage with Covid with only 164 of the original 176 riders embarking Sunday.