Derdiyok debuteerde in het seizoen 2005/06 in het profvoetbal bij BSC Old Boys uit zijn geboortestad Bazel. In 2006 maakte hij de overstap naar FC Basel uit dezelfde stad. Daar speelde hij drie seizoenen lang in het tweede en eerste elftal. In mei 2009 tekende hij vervolgens een vierjarig contract bij Bayer 04 Leverkusen. Vier maanden daarvoor sprak hij al zijn voorkeur voor die Werkself uit en in de zomerstop kwam het tot een overgang. De spits stond ook in de belangstelling van het gepromoveerde TSG Hoffenheim, dat tijdens de winterstop een vervanger zocht voor de geblesseerde Vedad Ibišević. Hoeveel Leverkusen betaalde voor Derdiyok werd niet bekendgemaakt.[7] In 2012 werd hij voor 5,5 miljoen verkocht aan TSG Hoffenheim. Tijdens het seizoen 2013/14 wordt hij uitgeleend aan zijn ex-club Bayer 04 Leverkusen. Hij kreeg het rugnummer 9.
Derdiyok debuteerde op 6 februari 2008 in en tegen Engeland in het Zwitserse nationale team. In de zomer van dat jaar was hij een van de 23 spelers die Zwitserland vertegenwoordigde op het EK 2008 in eigen land. Derdiyok was daar de jongste speler van het toernooi, waarop hij in alle drie de wedstrijden van Zwitserland in actie kwam.[8] Twee jaar later speelde hij op het WK 2010 wederom in alle drie de wedstrijden van de Zwitsers. Hij werd echter gepasseerd voor het wereldkampioenschap voetbal 2014 in Brazilië; in mei 2016 werd Derdiyok wel weer opgeroepen voor deelname aan het Europees kampioenschap voetbal 2016 in Frankrijk. Zwitserland werd na strafschoppen uitgeschakeld in de achtste finale door Polen (1–1, 4–5).