Licenciado em Geografia (FLUP/1982), Mestre (FLUCoimbra/1993) e Doutor (FLUP/2002) em Geografia Humana. Concretizou a "profissionalização em exercício", na Escola Secundária Carolina Michaëlis (Porto, 1983/85), foi Presidente da Comissão Instaladora da Escola C+S de Santa Marta de Portuzelo (Viana do Castelo, 1986) e foi Docente Acompanhante da Prática Pedagógica (DAPP) de professores de Geografia na Escola Superior de Educação de Viana do Castelo (1986/88). Em 1988 iniciou actividade no Departamento de Geografia da Faculdade de Letras da Universidade do Porto, onde é Professor Associado desde 2008. Na FLUP, foi director de cursos de 1º e de 2º ciclo do Departamento de Geografia e exerceu funções de Vice-Presidente (2006/08) e de Presidente (2008/10) do Departamento de Geografia. Foi também membro da Assembleia de Representantes (como aluno e enquanto docente) e do Conselho de Representantes da FLUP, bem como membro da Comissão Estatutária da FLUP (2009). Foi ainda representante dos Assistentes no Conselho Pedagógico da FLUP (1993/94), vogal do Conselho Directivo da FLUP (1992/94) e do Conselho Executivo da FLUP (2010/14), tendo sido Subdiretor (2010/14) e Diretor Interino (2014) da FLUP. É membro do Conselho Científico, desde 2014 (eleito para os mandatos 2014/18 e 2018/22), e do Conselho Pedagógico (2015/19) da FLUP, bem como diretor de curso da Licenciatura em Geografia (2014/19) e coordenador do CEGOT/FLUP (desde 2018). É presidente do Conselho de Representantes da FLUP desde novembro de 2018. Desenvolve investigação, docência e orientação de mestrandos, doutorandos e pós-doutorandos nas áreas de Urbanismo e Morfologia Urbana, Planeamento e Ordenamento do Território e em Cartografia e História da Cartografia, áreas onde também se inserem as suas publicações (algumas disponíveis em https://up-pt.academia.edu/MarioFernandes; ou no catálogo electrónico da biblioteca da FLUP em http://sdi.letras.up.pt/).