Aizsargs Mārcis Ošs karjeru sāka FK Auda sastāvā. Pēc tam vienu sezonu aizvadīja dzimtās pilsētas FK Limbaži rindās. Pirmais treneris bija Valdis Matīss.
2010. gadā sāka spēlēt FK Jelgava sastāvā, kuras rindās kļuva par divkārtēju Latvijas kausa ieguvēju (2013./2014., 2014./15. gadā). Kluba krāsas sekmīgi aizstāvējis arī UEFA Eiropas līgas kvalifikācijas spēlēs.
2015. gadā LFF gada balsojumā tika atzīts par SMScredit.lv Virslīgas čempionāta labāko aizsargu. Futbola līdzjutēju simpātijas izpelnījies ar savu īpašo tālo iemetienu jeb autu izpildīšanas tehniku, kas nereti kļuva par rezultatīvu piespēli tobrīd soda laukumā esošajiem komandas biedriem.
2015. gada ziemas transfēru periodā pirmo reizi karjerā devās uz ārzemēm, parakstot līgumu ar Polijas Ekstraklasa klubu Górnik Zabrze. Pēc aizvadītajām deviņām spēlēm klubs izkrita no augstākās līgas, un Mārcis nolēma atgriezties FK Jelgava sastāvā, kur aizvadīja 2016. gada sezonas otro pusi, kā arī visu 2017. gada SynotTip Virslīgas sezonu. 2018. gadā Mārcis pievienojās Latvijas čempionam FK Spartaks Jūrmala, pirmajās trijās kārtās gūstot divus vārtus. Vienus no tiem viņš iesita pret brāli Dāvi Ošu, kurš sargā FK Metta/Latvijas Universitāte vārtus (3:0). 2018. augustā Mārcis pārcēlās uz Šveices Superlīgas komandu Neuchâtel Xamax FCS, 25. augustā debitējot Šveices čempionātā ar 90 minūtēm laukumā spēlē pret BSC Young Boys (2:5). Pirmos vārtus Mārcis Superlīgā guva 2019. gada 31. martā, kad 26. kārtas spēles gaitā panāca 2:1 vadību pret FC Thun, vēlāk palīdzot uzvarēt ar 3:2.
Pirmo izsaukumu valstsvienības kandidātu sarakstā izpelnījās 2016. gada martā, taču laukumā spēlēs pret Slovākiju un Gibraltāru nedevās. Vasarā kopā ar Latvijas nacionālo futbola izlasi, būdams rezervists, triumfēja Baltijas kausa izcīņā. Oficiālo debiju Latvijas izlases rindās piedzīvoja 2017. gada 28. martā pārbaudes spēlē Tbilisi pret Gruziju (0:5), laukumā nākot uz maiņu 2. puslaika sākumā. Pirmo reizi izlases starta sastāvā laukumā izgāja 2018. gada 3. februārī Antālijā, Turcijā, pārbaudes spēlē pret Dienvidkoreju (0:1), nospēlējot visas 90 minūtes.
Informācija atjaunota 14.02.2024.