Nach einem weiteren Jahr an der Universität beendete der US-Amerikaner seine Collegekarriere vorzeitig, als er im Frühjahr 2001 seinen ersten Profivertrag im Franchise der Canadiens unterzeichnete. In der Folge spielte er in der American Hockey League für das Farmteam der Canadiens, die Citadelles de Québec, und mit Beginn der Saison 2002/03 – da die Canadiens den Kooperationspartner gewechselt hatten – für die Hamilton Bulldogs. Für die Canadiens lief der Verteidiger in den Jahren 2002 bis 2004 insgesamt 32-mal auf und erreichte zwei Scorerpunkte, darunter ein Tor. Nachdem er aufgrund des Lockouts der NHL-Saison 2004/05 sowohl diese als auch den Beginn der folgenden Spielzeit in Hamilton verbracht hatte, wurde er am 29. November 2005 über die Waiver-Liste von den Columbus Blue Jackets verpflichte. Bei den Blue Jackets schaffte der Defensivakteur schließlich den Durchbruch in der NHL und war bis zum Ende der Spielzeit 2007/08 eine feste Größe im Kader.
Nachdem sein Vertrag am Saisonende ausgelaufen war, unterschrieb Hainsey am 2. Juli 2008 als Free Agent einen Fünfjahresvertrag im Wert von 22,5 Millionen US-Dollar bei den Atlanta Thrashers. Für die Thrashers absolvierte er drei erfolgreiche Spielzeiten, ehe das Franchise umgesiedelt wurde und mit Beginn der Saison 2011/12 als Winnipeg Jets am Spielbetrieb teilnahm. Bei den Jets erfüllte Hainsey seinen Fünfjahresvertrag. Die Jets sahen aber von einer weiteren Verpflichtung des mittlerweile 32-Jährigen ab, sodass dieser im September 2013 in den Carolina Hurricanes einen neuen Arbeitgeber für das Spieljahr 2013/14 fand. Im Sommer 2014 verlängerten die Hurricanes den auslaufenden Vertrag schließlich um drei Jahre. Der Vertrag war mit 8,5 Millionen US-Dollar dotiert. Im letzten Jahr seines Vertrages wurde der Abwehrspieler im Februar 2017 von Carolina zu den Pittsburgh Penguins transferiert. Die Penguins gaben im Tausch Danny Kristo und ein Zweitrunden-Wahlrecht im NHL Entry Draft 2017 an Carolina ab. Im Gegenzug übernahmen die Hurricanes zudem die Hälfte des Gehalts ihres Ex-Spielers.
Mit den Penguins nahm Hainsey in der Folge an den ersten NHL-Playoffs seiner Karriere teil und gewann dabei mit dem Team direkt den Stanley Cup. Seine zuvor absolvierten 907 NHL-Partien stellten einen neuen NHL-Negativrekord dar, der zuvor von Olli Jokinen gehalten wurde, der 799 Spiele ohne Playoff-Teilnahme verzeichnet hatte.[1] Bereits wenige Wochen nach dem Erfolg verließ er die Penguins wieder und schloss sich als Free Agent den Toronto Maple Leafs an. In deren Trikot absolvierte er wenig später sein 1000. Spiel der regulären Saison in der NHL. Anfang Juli 2019 unterzeichnete Hainsey einen Einjahresvertrag bei den Ottawa Senators, der im Oktober 2020 nicht verlängert wurde. Dies stellte in der Folge das Ende seiner aktiven Karriere dar, in der er 1132 NHL-Partien bestritten und dabei 311 Scorerpunkte verzeichnet hatte.
International
Für die Vereinigten Staaten nahm Hainsey im Juniorenbereich an der U18-Junioren-Weltmeisterschaft 1999 sowie den U20-Junioren-Weltmeisterschaften 2000 und 2001 teil. Als bestes Resultat stand dabei ein vierter Platz bei der U20-Junioren-Weltmeisterschaft 2000 zu Buche. Die U20-Junioren-Weltmeisterschaft 2001 schloss der Verteidiger mit fünf Torvorlagen ab und war damit in dieser Statistik produktivster Spieler auf seiner Position im Turnierverlauf.
Mit der Herren-Auswahl nahm er an der Weltmeisterschaft 2009 in der Schweiz teil. Zwar konnte er dort mit sechs Scorerpunkten aus neun Spielen zu überzeugen, ein Medaillengewinn blieb ihm aber nach Niederlagen im Halbfinale und Spiel um den dritten Platz aber verwehrt. Während des Turniers fungierte Hainsey als Assistenzkapitän.
(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)