Jaroslav Špaček begann seine Karriere beim TJ Rokycany, für dessen Juniorenmannschaften er bis 1992 spielte. Danach wechselte er zum HC Plzeň, für den er bis 1997 spielte und sich dabei schnell im Kader etablierte. Im Alter von 23 Jahren wechselte er nach Schweden zum Färjestad BK, nachdem er in der Saison 1996/97 38 Scorerpunkte in 52 Spielen erzielt hatte und damit ligaweit punktbester Verteidiger sowie teamintern drittbester Punktesammler war. Mit dem Färjestad BK erreichte Špaček die Playoffs der Elitserien, wobei er dazu 26 Scorerpunkte in der Hauptrunde beitrug. In der Endrunde besiegte Färjestad den HV71 sowie Leksands IF mit 3:2 und traf im Finale auf den Luleå HF. Letzterer wurde mit 3:1-Siegen bezwungen, so dass die Saison mit dem Gewinn des schwedischen Meistertitels endete. Aufgrund dieses Erfolges und Špaček persönlicher Leistungen wurde auch die National Hockey League auf ihn aufmerksam. Beim NHL Entry Draft 1998 wurde er als inzwischen 24-Jähriger von den Florida Panthers in der fünften Runde als 117. ausgewählt und unter Vertrag genommen.
Nach zwei erfolgreichen Jahren in Florida wechselte er zu Beginn seiner dritten NHL-Spielzeit zu den Chicago Blackhawks. Doch schon vor Ende der zweiten Saison dort ging die Reise weiter zu den Columbus Blue Jackets. Die NHL-Streiksaison 2004/05 verbrachte er wieder in Plzeň und beim HC Slavia Prag. Zurück in Nordamerika wurde er wieder in Chicago unter Vertrag genommen, aber im Januar 2006 im Tausch gegen Tony Salmelainen zu den Edmonton Oilers transferiert. Mit den Oilers erreichte er das Stanley-Cup-Finale gegen die Carolina Hurricanes, das nach sieben Spielen verloren wurde. Insgesamt erzielte er drei Tore und elf Assists in den Play-offs.
Am 5. Juli 2006 unterzeichnete Špaček einen Vertrag über drei Jahre bei den Buffalo Sabres, der ihm insgesamt ein Gehalt von circa zehn Millionen US-Dollar einbrachte.[1] In der Saison 2006/07 erreichte Špaček mit den Sabres das Playoff-Finale der Eastern Conference. Im Dezember 2007 war Špaček Assistenzkapitän der Sabres sowie Mannschaftskapitän im Januar 2008. In der Saison 2008/09 stellte Špaček mit 45 Scorerpunkten in 80 Saisonspielen einen neuen persönlichen Rekord auf.
Am 1. Juli 2009, nachdem sein Vertrag mit den Sabres ausgelaufen war, wurde Špaček für drei Jahre von den Canadiens de Montréal verpflichtet, in denen er insgesamt 11,5 Millionen US-Dollar verdiente.[2]
Im Dezember 2011 transferierten ihn die Canadiens de Montréal im Austausch für Tomáš Kaberle zu den Carolina Hurricanes, wo er im November 2012 seine Karriere beendete. Anschließend wurde er als Assistenztrainer vom HC Škoda Plzeň verpflichtet. Während der Playoffs 2013 kehrte Špaček für drei Spiele aufs Eis zurück und gewann mit seinem neuen Klub die tschechische Meisterschaft.
Špaček vertrat sein Heimatland sowohl im Junioren- als auch Seniorenbereich auf internationaler Bühne. Seinen einzigen internationalen Auftritt im Juniorenbereich hatte der Verteidiger im Rahmen der Junioren-Weltmeisterschaft 1994. Špaček erzielte in sieben Spielen zwei Tore und belegte am Turnierende den fünften Rang mit den Tschechen.
(Legende zur Spielerstatistik: Sp oder GP = absolvierte Spiele; T oder G = erzielte Tore; V oder A = erzielte Assists; Pkt oder Pts = erzielte Scorerpunkte; SM oder PIM = erhaltene Strafminuten; +/− = Plus/Minus-Bilanz; PP = erzielte Überzahltore; SH = erzielte Unterzahltore; GW = erzielte Siegtore; 1Play-downs/Relegation; Kursiv: Statistik nicht vollständig)