Родился в Гонконге, окончил школу обучения снукеру в Ванкувере. Сейчас проживает в Великобритании.
Марко стал профессионалом в 1998 году. В дебютном сезоне он, будучи 377-м в рейтинге, вышел в финал Гран-при, но там проиграл Стивену Ли со счётом 2:9. В 2000 году Марко сделал максимальный брейк в матче против Кена Доэрти, а через три года победил в финале Премьер-лиги Марка Уильямса со счётом 9:5.
В 2006 году Марко имел возможность попасть в финал чемпионата мира, но не сумел вырвать победу в матче с Питером Эбдоном и уступил в решающей партии.
В сезоне 2007/08 игрок из Гонконга выиграл свой первый рейтинговый турнир — Гран-при. В финале он победил Ронни О'Салливана со счётом 9:6. На чемпионате мира 2008 года он в 1/16 финала проиграл китайцу Дин Цзюньхуэю со счётом 9:10. Фу имел возможность стать победителем и другого крайне важного турнира — чемпионата Британии — в 2008 году, но в финале уступил Шону Мёрфи, 9:10.
Самым заметным достижением Фу в сезоне 2009/10 стала победа на турнире Championship League, где в финале он обыграл Марка Аллена со счётом 3:2, изначально уступая 0:2. Это дало ему право выступить в Премьер-лиге 2010; там он остановился в полуфинале и разделил джекпот за высший брейк турнира (? 26 700) с Питером Эбдоном: оба сделали брейк в 144 очка. Всего же его призовые на турнире составили ? 36 450.
В 2010 году Фу стал десятым игроком, достигшим отметки 200 сенчури-брейков за карьеру. В 2011 он впервые за свою карьеру вышел в финал Мастерс, но проиграл Дин Цзюньхуэю.
Сейчас Марко Фу значится 21-м в мировой табели о рангах (его наивысший рейтинг — 8-й) и по праву входит в тройку самых успешных снукеристов с Востока.