Marc Staal begann seine Karriere 2003 in der kanadischen Juniorenliga OHL bei den Sudbury Wolves. Nachdem er sich zwei Jahre lang in der OHL als Verteidiger bewiesen hatte, wurde er im NHL Entry Draft 2005 von den New York Rangers in der ersten Runde an Position zwölf ausgewählt.
Staal blieb aber vorerst bei den Sudbury Wolves und führte sie als Mannschaftskapitän an. Er nahm mit der kanadischen U20-Nationalmannschaft an der Juniorenweltmeisterschaft 2006 teil, gewann die Goldmedaille und wurde zum besten Verteidiger des Turniers gewählt. Als er zum Ende der Saison 2005/06 mit den Sudbury Wolves aus den OHL-Playoffs ausgeschieden war, wurde er in die Mannschaft der Hartford Wolf Pack, dem Farmteam der New York Rangers, berufen und nahm mit ihnen an den AHL-Playoffs teil.
Auch die Saison 2006/07 absolvierte er in der OHL bei Sudbury, zum ersten Mal an der Seite seines jüngeren Bruders Jared. Im Januar 2007 gewann er erneut den Weltmeistertitel bei der Junioren-WM. Mit den Wolves erreichte er das Finale der OHL-Playoffs, scheiterte jedoch dort an den Plymouth Whalers. Trotzdem wurde Staal als wertvollster Spieler (MVP) der Playoffs ausgezeichnet und erhielt den Wayne Gretzky 99 Award. Hinzu kam noch die Max Kaminsky Trophy als bester Verteidiger der OHL.
Zu Beginn der Saison 2007/08 gab Staal sein Debüt für die New York Rangers in der National Hockey League (NHL) und kam dort fortan regelmäßig zum Einsatz. Zur Saison 2010/11 übernahm er die Funktion des Assistenzkapitäns bei den Rangers, mit denen er in der Folge das Endspiel der Playoffs 2014 erreichte, dort allerdings den Los Angeles Kings mit 1:4 unterlag. Nach 13 Jahren und inklusive Playoffs exakt 999 Partien im Trikot der „Broadway Blushirts“ wurde er im September 2020 an die Detroit Red Wings abgegeben. Zusätzlich schickten die Rangers ein Zweitrunden-Wahlrecht im NHL Entry Draft 2021 ohne weitere Gegenleistung nach Detroit, sodass sie mehr Spielraum gegenüber dem Salary Cap haben, während die Red Wings das letzte Vertragsjahr von Staals mit 5,7 Millionen Dollar jährlich dotierten Sechsjahresvertrag übernehmen.
Im Trikot der Red Wings bestritt Staal im März 2022 sein insgesamt 1000. Spiel der regulären Saison in der NHL. Nach der Saison 2021/22 wurde sein auslaufender Vertrag in Detroit nicht verlängert, sodass er sich im Juli 2022 als Free Agent den Florida Panthers anschloss. In den Playoffs 2023 erreichte er mit den Panthers sein zweites Stanley-Cup-Finale, war dort allerdings den Vegas Golden Knights abermals mit 1:4 unterlegen. Anschließend wechselte er im Juli 2023, abermals als Free Agent, zu den Philadelphia Flyers. Dort beendete er nach der Spielzeit 2023/24 seine aktive Karriere, in der er insgesamt 1136 NHL-Partien bestritten und dabei 234 Scorerpunkte verzeichnet hatte. Gleichbedeutend damit kehrte er zu den New York Rangers zurück und ist dort fortan in deren Trainerstab tätig.
(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)