Народився 10 квітня 1986 року в місті Уккел. Вихованець футбольної школи клубу «Андерлехт». Дорослу футбольну кар'єру розпочав 2003 року в основній команді того ж клубу, в якій провів три сезони, взявши участь у 73 матчах чемпіонату. Більшість часу, проведеного у складі «Андерлехта», був основним гравцем захисту команди. За цей час двічі виборював титул чемпіона Бельгії.
Своєю грою за цю команду привернув увагу представників тренерського штабу «Гамбурга», до складу якого приєднався 20 червня 2006 року. Відіграв за гамбурзький клуб наступні два сезони своєї ігрової кар'єри. За цей час додав до переліку своїх трофеїв титул переможця Кубка Інтертото.
До складу клубу «Манчестер Сіті» приєднався 22 серпня 2008 року. Відразу ставши основним захисником у складі англійської команди, протягом наступного десятиріччя був однією з основних опцій при формуванні захисної лінії тренерами «Мансіті». Проте від самого початку кар'єри в Англії гравця почали переслідувати травми. Наприкінці 2016 року було підраховано, що на той час Компані зазнав 37 травм різного ступені важкості з моменту переходу до «Манчестер Сіті» і пропустив понад два роки з восьми, проведених на той час у цій команді, відновлюючись від них. В подальшому ситуація з травмами ставала дедалі складнішою — їх кількість не зменшувалася, а терміни відновлення після них збільшувалися. Утім номінально Компані залишався основним захисником команди і включався до її стартового складу відразу ж як клубні лікарі оголошували його готовим грати.
18 лютого 2004 року в 17-річному віці дебютував в офіційних матчах у складі національної збірної Бельгії в товариській грі проти збірної Франції (0-2), ставши одним з наймолодших гравців збірної в історії.
У складі олімпійської збірної був учасником футбольного турніру на Олімпійських іграх 2008 року у Пекіні, на якому команда зайняла четверте місце, але Компані провів лише першу гру, під час якої отримав червону картку, після чого повернувся зі збірної на вимогу його тодішнього клубу, «Гамбурга».
Від самого початку виступів за збірну став основним її захисником, проте нерідко був змушений пропускати ігри національної команди через травми. 2011 року 25-річний на той час гравець був обраний капітаном бельгійської збірної. Виводив її на поле з капітанською пов'язкою на матчі чемпіонату світу 2014 року, першої для бельгійців світової першості за 12 років. На тому турнірі бельгійці дійшли до стадії чвертьфіналів, на якій мінімально поступилися майбутнім фіналістам турніру аргентинцям.
Євро-2016 був змушений пропустити через травму. Був включений до заявки національної команди на чемпіонату світу 2018 року, проте учергове травмувався і турнір збірна розпочала без нього у складі.