Natural da cidade Invicta, João Mário deu os primeiros pontapés na bola no FC Porto, em 2002/03. Na época seguinte rumou ao Sporting, clube onde fez a restante formação até se estrear nos Seniores, em 2011/12. Representou ainda o V. Setúbal (2013/14, empréstimo), e o West Ham (2017/18) e o Lokomotiv Moscovo (2019/20), estes dois por cedência do Inter de Milão.
Centrocampista com grande capacidade de organização, João Mário gere com mestria os ritmos das partidas, joga e faz jogar. Como sénior conquistou, para além do Campeonato da Europa por Portugal, 1 Campeonato Nacional, 1 Taça de Portugal, 1 Supertaça Cândido de Oliveira e 1 Taça da Liga.
Com trajeto feito nas seleções nacionais jovens, João Mário percorreu os escalões de Sub-15 até aos Sub-21, onde logrou 82 internacionalizações e apontou 14 golos. Pela Seleção A, teve oportunidade de participar no Campeonato da Europa 2016 e no Campeonato do Mundo 2022.