Bartra kwam in 2002 van RCD Espanyol bij de jeugdopleiding van FC Barcelona en hij begon in het Alevín A-team. In het seizoen 2008/2009 won Bartra met de Juvenil A, het hoogste jeugdelftal van de club, de regionale groep van de División de Honor en de Copa de Campeones. In het seizoen 2009/2010 begon hij bij de Juvenil A, maar al snel maakte Bartra de overstap naar Barça Atlètic, het tweede elftal van FC Barcelona. Bartra maakte zijn officiële debuut in het eerste elftal op 14 februari 2010 in de competitiewedstrijd tegen Atlético Madrid als invaller voor Jeffrén Suárez een half uur voor tijd. In 2012 kwam Bartra officieel bij het eerste elftal van FC Barcelona. In het voorjaar van 2016 won hij met Barcelona voor de vijfde maal de Spaanse landstitel.[1] Op 1 juli stapte Marc Bartra over van FC Barcelona naar Borussia Dortmund, dat een bedrag van 8 miljoen euro neertelde voor hem.
Op 11 april 2017, voor de Champions Leaguematch tegen AS Monaco, raakte hij gewond aan zijn hand door een bomaanslag bij de spelersbus. De wedstrijd werd één dag uitgesteld.
Op 16 november 2013 maakte Bartra zijn debuut in het Spaans voetbalelftal in een vriendschappelijke interland tegen Equatoriaal-Guinea (1–2 overwinning). Hij speelde de volledige wedstrijd, zijnde de enige debutant.[2] Op 17 mei 2016 werd Bartra opgenomen in de Spaanse selectie voor het Europees kampioenschap voetbal 2016 in Frankrijk.[3] Spanje werd in de achtste finale uitgeschakeld door Italië (2–0).