W kolejnym sezonie 2007/08 ponownie został rezerwowym na Mecz Gwiazd i zdobył w nim 18 punktów i 8 zbiórek.

6 lutego 2008 przeszedł wraz z Marcusem Banksem do Miami Heat w zamian za Shaquille’a O’Neala. Marion wystąpił w 16 meczach sezonu 2007/08 w barwach Heat, borykając się z urazami pleców i stopy. 12 lutego 2009 w meczu z Chicago Bulls Marion wykonał wsad dający zespołowi Heat zwycięstwo. Dzień później wraz z Banksem został oddany w wymianie do Toronto Raptors w zamiana za Jermaine'a O’Neala, Jamario Moona i zastrzeżony wybór w drafcie. Po zakończeniu sezonu, 8 lipca 2009 podpisał 5-letni, wart 39 milionów dolarów kontrakt i na zasadzie wymiany sign and trade przeszedł do Dallas Mavericks. W sezonie 2010/11 zdobył z tą drużyną mistrzostwo NBA, pokonując w finale Miami Heat 4–2. 3 stycznia 2014 przekroczył granicę 17 000 zdobytych punktów i został czwartym zawodnikiem, po Hakeemie Olajuwonie, Karlu Malone i Kevinie Garnett, który zdobył w trakcie kariery 17 000 punktów, 9000 zbiórek, 1500 przechwytów i 1000 bloków.

9 września 2014 podpisał kontrakt z Cleveland Cavaliers.