Ivanović debuteerde op achttienjarige leeftijd in het betaald voetbal bij FK Srem. Hij vertrok na een seizoen naar OFK Beograd, waarvoor hij de volgende drie jaar speelde. Daarna maakte hij zijn eerste buitenlandse transfer naar Lokomotiv Moskou, waar hij zich in de kijker speelde bij Chelsea. Op woensdag 15 mei 2013 kopte hij in de blessuretijd de winnende treffer (2–1) binnen in de finale van de UEFA Europa League, waardoor Chelsea ten koste van Benfica de eindstrijd won in de Amsterdam Arena.
Hij tekende in januari 2017 een contract tot medio 2019 bij FK Zenit, dat hem inlijfde nadat hij 8,5 seizoen voor Chelsea speelde. Hij verlengde zijn contract tot medio 2020 en vertrok vervolgens in september 2020 transfervrij naar West Bromwich Albion, waar hij een contract tot medio 2021 tekende. Op 27 mei 2021 werd aangekondigd dat Ivanović de club zou verlaten na de beëindiging van zijn contract.[2]
Bijtincident
Ivanović werd op 21 april 2013 in een wedstrijd tegen Liverpool in de Premier League gebeten door toenmalig Liverpool-speler Luis Suárez. Suárez werd door de FA tien wedstrijden geschorst voor gewelddadig gedrag en kreeg een boete van zijn eigen club.
Ivanović debuteerde op 8 juni 2005 in het Servisch voetbalelftal, tegen Italië. Hij maakte op 12 september 2007 zijn eerste interlanddoelpunt, tegen Portugal. Op 28 februari 2012, in een oefeninterland tegen Armenië, droeg hij voor het eerst de aanvoerdersband van zijn vaderland. Ivanović vertegenwoordigde zijn land tijdens het EK 2006 onder 21 (toen voor Servië en Montenegro en het EK 2007 onder 21, toen voor Jong Servië. Hij werd als aanvoerder met zijn landgenoten in 2007 tweede, achter Jong Oranje. Ivanović speelde op 14 november 2017 zijn honderdste interland, toen Servië met 1-1 gelijkspeelde in een oefenduel in en tegen Zuid-Korea. Ivanović maakte eveneens deel uit van de Servische selectie die onder leiding van bondscoach Mladen Krstajić deelnam aan de WK-eindronde 2018 in Rusland. Daar sneuvelde de ploeg in de voorronde na een overwinning op Costa Rica (1–0) en nederlagen tegen achtereenvolgens Zwitserland (1–2) en Brazilië (0–2). Ivanović kwam in twee van de drie WK-duels in actie voor zijn vaderland.