Выступал за молодёжный клуб «Нова Кеннеди» из родного Рио-де-Жанейро. В 1998 году в 15 лет его родители переехали в Загреб, а он пошёл заниматься футболом в школу местного «Динамо»[5].
Позже он был отдан в годичную аренду в клуб «Бангу». Затем вернулся в «Динамо» и вскоре подписал профессиональный контракт с клубом. Эдуардо дебютировал в первой команде «Динамо» в сентябре 2001 года[6].
В сезоне 2002/2003 был отдан в аренду другому хорватскому клубу «Интер (Запрешич)», где забил 10 голов в 15 матчах.
«Динамо» (Загреб)
Эдуардо исполняет свободный удар в составе «Динамо»
Возвратившись из аренды, Эдуардо достаточно быстро закрепился в составе «Динамо». В 2004, 2006 и 2007 годах он признавался лучшим игроком хорватского чемпионата, выиграв в составе хорватского клуба 2 чемпионата, Кубок и Суперкубок Хорватии.
Сезон 2006/07 стал самым успешным для Эдуардо в составе загребского клуба, поскольку он наколотил 34 мяча в 32 матчах.
«Арсенал» (Лондон)
Эдуардо в составе «Арсенала»
3 июля 2007 года лондонский «Арсенал» подтвердил, что Эдуардо перешёл в английский клуб за 7,5 млн фунтов стерлингов[7][8].
Дебютировал Эдуардо в составе «Арсенала» 19 августа 2007 г. в ничейном матче против «Блэкберн Роверс» (1:1). 10 дней спустя он забил свой первый гол за новый клуб в ворота пражской «Спарты». К концу 2007 года Эдуардо закрепился в основном составе «Арсенала», забив в течение 2 последующих месяцев несколько голов, отдав 2 голевые передачи и заработав пенальти.
23 февраля 2008 года в матче с «Бирмингемом» получил ужасную травму, в столкновении с Мартином Тейлором (открытый перелом ноги). Спустя почти год, 16 февраля 2009 года Эдуардо вновь вышел на поле в составе Арсенала и сделал дубль в матче 1/16 финала Кубка Англии поразив ворота «Кардифф Сити», но из-за травмы не смог отыграть весь матч. В Премьер-Лиге он впервые вышел на поле после травмы в матче-открытии сезона 2009—2010, в котором «Арсенал» уничтожил «Эвертон» 6:1[9].
Неделю спустя произошёл неприятный инцидент в матче против шотландского «Селтика», в котором Эдуардо совершил «нырок» за что позже получил дисквалификацию на 2 европейских матча, но позже это решение было аннулировано. 18 ноября 2009 года Эдуардо подписал новый долгосрочный контракт с «Арсеналом»[10].
«Шахтёр»
21 июля 2010 года Эдуардо подписал четырёхлетний контракт с донецким «Шахтёром»[11], во главе с Мирчей Луческу. Информация о сумме трансфера не была разглашена по договорённости между «Арсеналом» и «Шахтёром»[12]. Большую роль в переходе Эдуардо в «Шахтёр» сыграл Дарио Срна его партнёр по сборной[13]. «Шахтёр» интересовался Эдуардо ещё три года назад, когда он выступал за «Динамо»[14]. 23 июля 2010 года он был презентован, Эдуардо взял себе 11-й номер. Презентация состояла из пресс-конференции с журналистами, а после Эдуардо жонглировал мячом на «Донбасс Арене»[15]. В Премьер-лиге Украины дебютировал 7 августа 2010 года в домашнем матче против клуба «Севастополь» (5:0)[16], Эдуардо вышел в стартовом составе, отыграв один тайм он был заменён на Луиса Адриано. После матча Луческу остался доволен игрой Дуду[17]. Первый гол в чемпионате забил 21 августа 2010 года в выездном матче против луцкой «Волыни» (0:1)[18], Эдуардо вышел на 56 минуте вместо Жадсона, а на 74 минуте поразил ворота Иссы Ндойе. В Лиге чемпионов за «Шахтёр» дебютировал 28 сентября 2010 в выездном матче против португальской «Браги» (0:3)[19], Эдуардо вышел на поле на 75 минуте вместо Луиса Адриано. В двух матчах против киевского «Динамо» в рамках Datagroup-Кубка Украины он отличился 3 голами — один раз в финале Кубка-2011 на стадионе «Юбилейный» в Сумах (2:0), и дважды в матче 1/8 финала Кубка-2012, где на стадионе «Динамо» имени В. В. Лобановского киевляне принимали «Шахтер» (2:3).
10 июля 2012 года Эдуардо в составе «Шахтёра» стал обладателем Суперкубка Украины после победы в Луганске в матче против донецкого «Металлурга». Во время празднования завоевания трофея кубок разбился, распавшись на две части, и верхняя часть награды покидала стадион в руках Эдуардо[20].
7 июля 2014 года стало известно, что Эдуардо покидает «Шахтёр»[21].
Летом 2015 года вернулся в «Шахтёр» в статусе свободного агента. Как оказалось все это время, которое Эдуардо проводил в Бразилии, в структуре «Шахтера» продолжали следить за ним. Вернувшись в донецкий клуб бразильский хорват стал настоящим джокером Мирчи Лучески как в чемпионате Украины, так и в еврокубках — неоднократно забивая решающие голы, выходя на замену ближе к концу второго тайма. 23 декабря 2016 у футболиста закончился контракт, и стороны решили его не продлевать[22].