Сын известного итальянского тренера Джузеппе Матерацци. Начинал карьеру в клубах низших итальянских дивизионов. В 1995 году перешёл в команду Серии B «Перуджа», с первого раза закрепиться в её составе не сумел, отдавался в аренду в «Карпи» (Серия C). По возвращении оттуда начал прогрессировать и получил стабильную игровую практику в «Перудже». Сезон 1998/1999 провёл в аренде в английском «Эвертоне», бывшем тогда середняком Премьер-лиги; Марко провёл 27 игр за этот клуб и трижды удалялся с поля. «Перуджа» в его отсутствие вышла в Серию A. Летом 1999 года Матерацци вернулся в состав «Перуджи». В сезоне 2000/2001 забил 12 голов, побив рекорд по количеству голов за сезон среди защитников серии A, принадлежавший Даниэлю Пассарелле. Летом 2001 года был куплен миланским «Интером». Стал одним из лидеров «Интера». Выиграл большое количество трофеев в составе клуба, в том числе пять подряд чемпионатов страны, три Кубка и три Суперкубка. В сезоне 2006/2007 снова стал лучшим бомбардиром среди защитников, забив 10 мячей. 1 июля 2009 года Матерацци продлил контракт с «Интером» до лета 2012 года.
20 июня 2011 года Матерацци и «Интер» разорвали контракт по обоюдному согласию. Позже он сказал: «Я хочу прояснить ситуацию, не я принимал решение об уходе из „Интера“. Леонардо предал меня. В клубе заявили, что я не вписываюсь в их планы и не буду включен в заявку на Лигу чемпионов. Я не знаю, почему Леонардо так поступил. Он всегда говорил, что я полностью отдавался команде на поле и за его пределами».
Впервые сыграл за сборную Италии в 2001 году против команды ЮАР. Играл за сборную Италии в чемпионате мира (2002), чемпионате Европы (2004), чемпионате мира (2006), чемпионате Европы (2008).
На ЧМ-2002 провёл один матч, на ЧЕ-2004 — также один. На чемпионате мира 2006, ставшем для сборной Италии победным, Матерацци изначально был взят также как резервный защитник, но после того, как в матче группового этапа против Чехии получил травму Алессандро Неста, Матерацци был поставлен Марчелло Липпи на место Несты в центре обороны.
Финал чемпионата мира 2006 года, где итальянцам противостояла сборная Франции, стал, пожалуй, наиболее известным матчем в карьере Матерацци, и Марко сыграл в нём одну из важнейших ролей: на 7-й минуте за совершённый им фол в ворота итальянцев был назначен пенальти, реализованный Зинедином Зиданом, на 19-й минуте Марко сравнял счёт, а на 110-й минуте спровоцированный им же лидер французов Зидан был удалён из-за нападения на Матерацци, что, по мнению многих футбольных болельщиков и аналитиков, повлияло на исход финального матча, выигранного итальянцами по пенальти. По одним данным, Матерацци назвал сестру Зидана «шлюхой», по другим — в ответ на предложение Зидана подарить футболку заявил, что предпочёл бы его сестру; за это Зидан ударил его головой в грудь. Осенью 2006 года Матерацци написал и издал книгу «Что я на самом деле сказал Зидану» (англ. What I really said to Zidane).
На чемпионате Европы 2008 Матерацци сыграл один матч, заменив в игре на групповом этапе с Нидерландами травмированного капитана команды Фабио Каннаваро. Этот матч стал для него последним за сборную Италии. Всего за сборную он провёл 41 игру, забил 2 гола.