W reprezentacji Bośni i Hercegowiny Spahić zadebiutował 7 czerwca 2003 roku w przegranym 0:2 meczu z Rumunią rozegranym w ramach eliminacji do Euro 2004. Z Bośnią grał także w kwalifikacjach do MŚ 2006, oraz do Euro 2008. Obecnie Spahić jest kapitanem reprezentacji swojego kraju.