Stuart draftades i den första rundan som 3:e spelare totalt totalt i 1998 års NHL-draft av San Jose Sharks. I en match mot Los Angeles Kings den 4 april 2004 gjorde Stuart två mål på 17 sekunder. Det är det snabbaste i Sharks historia.
Efter att ha spelat fem säsonger för Sharks bytte Stuart tillsammans med Marco Sturm och Wayne Primeau till Boston Bruins i utbyte mot Joe Thornton i november 2005.
Den 10 februari 2007 bytte han till Calgary Flames tillsammans med Wayne Primeau i utbyte mot Andrew Ference och Chuck Kobasew. Bostons General Manager Peter Chiarelli och Stuart kom inte överens om en ett nytt kontrakt med Bruins vilket gjorde att Stuart blev free agent i slutet av säsongen 2006–2007.
Efter slutet av säsongen tecknade Stuart ett 1-årskontrakt värt 3 500 000$ med Los Angeles Kings.
Kings trejdades Stuart till Detroit Red Wings den 26 februari 2008 mot ett andraval i 2008 års NHL Entry Draft och ett val i fjärde rundan 2009. Den 4 juni 2008 vann Stuart Stanley Cup med sitt Red Wings där han sågs som en top-4-back efter att ha bildat backpar med Niklas Kronwall.
Stuart blev free agent efter säsongen 2007–2008 och den 1 juli 2008 undertecknade han ett fyraårskontakt med Red Wings värt 15 miljoner $.
Stuart spelade 67 matcher under säsongen 2008–2009 och registrerades för två mål och 13 assist när Red Wings återigen var med i kampen om Stanley Cup vilket de förlorade till Pittsburgh Penguins.
Den 10 juni 2012 såldes rättigheterna för Stuart till San Jose Sharks i utbyte mot Andrew Murray och ett draftval i 7:e omgången 2014. Åtta dagar senare rapporterades det att Stuart tecknat ett treårskontrakt värt 10,8 miljoner $ med Sharks. Säsongen 2013–2014, 8 oktober 2013 i en match mot New York Rangers, tacklade Stuart Rick Nash vilket gjorde att han stängdes av i tre matcher. Han avslutade säsongen med 11 poäng på 61 matcher samtidigt som Sharks förlorade mot Los Angeles Kings i Conference-kvartsfinalen efter att ha tappat en 3-0-ledning i matcher.
Den 1 juli 2014 ville Sharks föryngra sitt lag vilket gjorde att Stuart accepterade att byta klubbadress till Colorado Avalanche i utbyte mot ett draftval i 2:a omgången 2016 och ett i 6:e omgången 2017. 29 september 2014, innan säsongen startade, blev det officiellt att Stuart skrivit på ett tvåårskontrakt med Avalanche.