The 20-year-old has signed a four-year contract with the German side.
Leverkusen and Derdiyok first made contact in January but the forward wanted to finish his season with the Swiss side before leaving.
“We are very happy to have signed this talented striker,” said Bayer president Wolfgang Holzhauser on the club’s official website.