Leningrádban született, apja katonatiszt, anyja tanítónő volt. Ötéves korában azon a vonaton ismerkedett meg a sakkjátékkal, amellyel a német blokád alá került városból evakuálták. Tízévesen a legfiatalabb szovjet játékosként érte el az első osztályú szintet, tizenhat évesen lett nemzetközi mester és indult első külföldi versenyén. Két esztendővel később bronzérmet gyűjtött a szovjet bajnokságban, ifjúsági világbajnoki címet szerzett, 1956-ban ő lett az addigi legfiatalabb nemzetközi nagymester. Kétszer nyerte meg a szovjet sakkbajnokságot (1961, 1973), kétszer (1956, 1963) holtversenyben végzett az élen, de a rájátszásban alulmaradt.
Először 1956-ban, tizenkilenc évesen lett világbajnokjelölt, s holtversenyben a harmadik helyen végzett. A zónaközi döntőre 1958-ban és 1962-ben nem jutott ki, de kisebb válságból kilábalva 1966-ban ismét világbajnokjelölt lett, s Kereszt, Gellert és Talt legyőzve elnyerte a jogot, hogy megmérkőzhessen a regnáló Tigran Petroszjannal. A döntőben 4–3-ra alulmaradt, 1934 óta ez volt az első címvédés a sportág történetében.
Kihívóként a következő ciklusban automatikusan világbajnokjelölt lett, s 1968-ban ismét Geller, majd Korcsnoj ellen diadalmaskodva kiharcolta a visszavágót. Az 1969-es döntőben Petroszjant 12,5–10,5 arányban múlta felül, így a sakk tizedik világbajnoka lett. Címét a csodagyerek amerikai Bobby Fischer ellen kellett megvédenie, akivel a döntő előtt öt alkalommal is találkozott, és Fischer egyszer sem győzött. A világbajnoki párosmérkőzést 1972-ben az izlandi Reykjavíkban rendezték meg, és a hidegháború tetőpontján az egész világ feszülten figyelte a szovjet és az amerikai nagymester összecsapását. Az „évszázad mérkőzéséről” beszámoló Arthur Koestler azt írta: „furcsa ennyi idő után ismét haditudósítónak lenni”.
A mérkőzés különösen alakult: a jogdíjakért perlekedő Fischer a megnyitó napján még New Yorkban volt. A pénzt végül megkapta, s Henry Kissinger külügyminiszter rábeszélésére Izlandra repült, ahol az első játszmát elvesztette, a másodikra ki sem állt, a harmadikat csak a színpad mögötti kisteremben volt hajlandó lejátszani, a lépéseket kivetítőn közvetítették. A következő nyolc játszmából viszont ötöt megnyert, három döntetlen lett, s végül 12,5–8,5-re győzött. A partikat különös közjátékok tarkították, Fischer szinte minden alkalommal új követelésekkel állt elő, amikor pedig már ő vezetett, az elkeseredett szovjet csapat azt követelte, hogy vizsgálják át székét, mert abba egy tiltott szerkezet van beépítve. Ez meg is történt, de csak döglött legyeket találtak.
Szpasszkij többé már nem jutott fel a csúcsra, de még csaknem negyedszázadig a közvetlen élvonalba tartozott. A Fischer elleni visszavágót nem sikerült kiharcolnia: 1974-ben Anatolij Karpovtól 7–4-re kapott ki az elődöntőben, 1977-ben – immár francia állampolgárként – Viktor Korcsnoj 8,5–7,5-re győzte le a meglehetősen viharos világbajnokjelölti döntőben. 1980-ban Portisch Lajostól kapott ki a világbajnokjelölti tornán, 1993-ban hajlandó volt a fiatal Polgár Judit ellen asztalhoz ülni, de 5,5–4,5 arányban vereséget szenvedett.
1976-ban Franciaországba emigrált harmadik feleségével, az állampolgárságot 1978-ban kapta meg. Francia színekben 1984-ben játszott először, és sokat tett új hazája sakkéletének fellendítéséért.
Amikor a nyilvánosság elől a hetvenes évek végén eltűnt Fischer 1992-ben óriási szenzációt keltve visszatért, Belgrádban megismételték a húsz évvel korábbi világbajnoki döntőt, amelyet ezúttal is az amerikai nyert meg, 17,5–12,5-re. A mérkőzés után Fischer ellen nemzetközi körözést adtak ki az amerikai hatóságok, mert Jugoszlávia ellen ENSZ-szankciók voltak érvényben. Amikor a sakkozót 2004-ben ennek alapján Japánban őrizetbe vették, Szpasszkij levélben kért számára kegyelmet George W. Bush amerikai elnöktől: „Ha ez nem lehetséges, tartóztassanak le engem is, és tegyenek minket közös cellába. És adjanak egy sakk-készletet.” A két játékos Fischer 2008-as haláláig tartotta egymással a kapcsolatot, az amerikai csak három sakkozónak engedte meg végrendeletében, hogy jelen legyen a temetésén, az egyik Szpasszkij volt.
Pályafutása során húsz jelentős nemzetközi versenyen végzett az élen. A szovjet válogatott tagjaként hatszor lett olimpiai bajnok, 1978-ban Buenos Airesben pedig második lett az aranyérmes magyar válogatott mögött. Hét olimpiai szereplése során 94 partit játszott, 45 győzelem mellett csak egyszer szenvedett vereséget. Játszmáiban a döntést ritkán hagyta a végjátékra, a bonyolult középjátékokban is viszonylag könnyen találta meg a helyes tervet. Keveset foglalkozott az elemzésekkel, bízott az intuíciójában.