The time trial world champion powered through the undulating course in 42 minutes 40 seconds to beat his Ineos-Grenadiers team mate Rohan Dennis by 26 seconds and American Brandon McNulty (UAE Team Emirates) by 1:09.
Ganna won the opening time trial in Palermo and the fifth stage in Camigliatello Silano.
Portugal's Almeida of Deceuninck-Quick Step clocked the best time of the overall contenders in 44:11 to stretch his lead over Wilco Kelderman of the Netherlands to 56 seconds.
Spain's Pello Bilbao (Bahrain-McLaren) stayed third, 2:11 off the pace, with McNulty breaking into the top five in fourth position, 2:23 behind Almeida.
Double Giro champion Vincenzo Nibali (Trek Segafredo) is fifth, 2:30 off the pace.
This year's race is still wide open with four summit finishes to come before the final time trial in Milan on Oct. 25.
Organisers said all riders and staff members had tested negative for COVID-19 on Thursday and Friday after two teams left the race this week following positive cases, raising hopes that the three-week grand tour will be completed.
The top guns are expected to battle it out on Sunday when the 15th stage takes the peloton to a mountain-top finish in Piancavallo.
The final climb is a 14.5km effort at an average gradient of 7.8%.
(Reporting by Julien Pretot; Editing by Ed Osmond)