Hesjedal (Garmin-Barracuda) overhauled a 31-second gap to erstwhile pink-jersey holder Rodriguez on today's [Sunday] 28.2km time-trial around the streets of Milan.
Hesjedal came home in sixth place, 66 seconds behind stage winner Marco Pinotti (BMC Racing), to top the final General Classification by 16 seconds from long-time leader Rodriguez (Katusha).
Third place in the final GC went to Belgium's Thomas De Gendt (Vacansoleil-DCM).
"It was just an unreal experience from day one, with what we've been able to do, with the support of the team," Hesjedal told reporters.
"I couldn't have done it without them. I knew I was good when I came here. I just stayed focused and took advantage of the situation. I kept feeding off that support."
Today's route was supposed to be a 30.1km test but was shortened by two kilometres due to roadworks.
The revised route, which finished in the shadows of Milan Cathedral, was completed in 33 minutes and six seconds by Italian Pinotti.
Britain's Geraint Thomas (Team Sky) was second, 39 seconds back, while Jesse Sergent (RadioShack) was third.
"I am very happy with my ride today [Sunday]," Pinotti, who crashed out of last year's Giro, told reporters.
"I was keeping this stage in mind. After the accident I had last year, I am content to get back to a good level.
"Maybe this result will help me gain a spot for the Olympic team."