Karijeru je počeo u fudbalskom klubu Željezničar, gdje je slovio za jednog od najtalentovanijih dječaka plavog tima. Sa 17 godina je ubilježio prvi nastup za seniorsku ekipu (pod vodstvom Amara Osima), u tadašnjem Kupu Uefa (Liga Evrope) protiv škotskog Heartsa. Za Željezničar je odigrao 40 utakmica i postigao 5 golova.
2005. godine, sa 18 godina odlazi u Teplice (Češka), gdje u prvoj sezoni kao posuđen igrač u malom timu Usti nad Labem postiže 5 pogodaka u 17 mečeva, te se odmah vraća u Teplice, gdje pokazuje svoj talenat i u 43 meča postiže 17 golova. Krajem sezone 2006/2007. proglašen je za najboljeg stranog igrača u Češkoj.
Njegove odlične igre zapazio je njemački stručnjak Felix Magath. U transferu vrijednom 4 miliona eura doveden je u Vfl Wolfsburg, gdje u tandemu sa Zvjezdanom Misimovićem u drugoj sezoni osvaja Bundesligu.
U Wolfsburgu u 111 mečeva postiže nevjerovatnih 66 golova i tako ostaje upisan u historiju Wolfsburga kao najbolji strijelac. U sezoni 2009/2010. osvaja laskavu titulu najboljeg strijelca Bundeslige sa 22 postignuta gola.
2011. godine postaje član engleskog Manchester City-a, a u redove ovog bogatog tima doveden je transferom vrijednim 27,5 miliona funti. Tako je Edin Džeko postao jedan od najskupljih igrača u historiji Balkana. Već u prvoj sezoni osvaja FA kup, najstarije takmičenje na Otoku, da bi u narednoj sezoni osvojio i englesku Premier ligu.
Nakon 4 sezone provedene u engleskom klubu, 2015. godine potpisuje ugovor sa italijanskom Romom. U svojoj 5. sezoni u timu iz Rima, Džeko je upisao svoj jubilarni 200. nastup za Romu 15. decembra 2019. godine u ligaškoj pobjedi protiv SPAL-a.
Prije A selekcije igrao je za U-19 i U-21 reprezentaciju BiH. Za A selekciju debitovao je 2. juna 2007. godine, protiv reprezentacije Turske, kada je postigao i svoj prvi gol (3:2).
Trenutno nastupa za milanski Inter.