Swoją karierę rozpoczął jako 5-latek w młodzieżowym klubie SV Eintracht Straßbessenbach. W roku 1996 przeniósł się do Viktorii Aschaffenburg, wtedy to trener Reiner Maurer zmienił jego pozycję z pomocnika na obrońcę. Od 2000 grał w młodzieżówce TSV 1860 Monachium, a trzy lata później już w profesjonalnej kadrze tego klubu. W sezonie 2007/2008 występował już w pierwszoligowym VfL Wolfsburg. Został wtedy najskuteczniejszym obrońcą w Bundeslidze strzelając sześć bramek.
13 listopada 2008 został powołany do reprezentacji Niemiec na towarzyskie spotkanie z Anglią, które odbyło się 19 listopada 2008. Marcel Schäfer zadebiutował w narodowym składzie na pozycji lewego obrońcy, w 77. minucie zmieniając również debiutującego Marvina Comppera.