On April 3, 2013, Hannan returned to the San Jose Sharks via trade in exchange for a conditional seventh round draft pick in 2013. Hannan became an unrestricted free agent after the season's end, and on July 5, 2013, but eventually he re-signed with the Sharks on a one-year contract. He played his 1,000th career NHL game on October 14, 2014, against the Washington Capitals.