Уроженец Сан-Жуан-да-Мадейры, округ Авейру, Жуан Мариу начал футбольную карьеру в молодёжной команде местного клуба «Санжуаненсе». В 2009 году поступил в футбольную академию клуба «Порту». 7 октября 2018 года дебютировал за команду «Порту B» в матче второго дивизиона чемпионата Португалии против «Ароки». 5 января 2019 года забил свой первый гол за «Порту B» в матче против «Бенфики B» . 15 июня 2020 года дебютировал в основном составе «Порту» в матче португальской Примейра-лиги против «Спортинга», выйдя на замену Луису Диасу. В том матче «Порту» завоевал чемпионский титул.