Natural de Lisboa, começou por tirar o curso de Arquitectura, antes de se aventurar para o mundo da representação, depois de estudar um mês em Nova Iorque. 


“Não tinha interesse em representar em novelas, mas com o apoio dos pais, acabei por fazer um casting” e consegui o primeiro trabalho na telenovela Dancing Days, em 2012, explicou à Vogue, numa entrevista.


Actualmente, Joana Ribeiro é mais conhecida pelos seus papéis em diversas telenovelas e também em filmes como O Homem que Matou Dom Quixote (2018), Linhas Tortas (2019) e O Fio de Baba Escarlate (2021).


Nos anos seguintes, integrou o elenco de várias telenovelas, como Sol de Inverno (2012-2014), Poderosas (2015) e Paixão (2017), transmitidas pela SIC. Em 2017, interpretou Paula na série Madre Paula, uma adaptação à televisão do livro com o mesmo nome, de Patrícia Muller.


Demonstrando sempre interesse pelo teatro e pelo cinema, Joana Ribeiro apresenta um currículo diverso e rico. Em 2015, foi protagonista no filme de drama luso-francês A Uma Hora Incerta, realizado por Carlos Saboga, e produzido por Paulo Branco. 


Foi também a protagonista na primeira longa-metragem da realizadora portuguesa Rita Nunes, Linhas Tortas, em 2019, e, no ano seguinte, integrou O Fio de Baba Escarlate, de Carlos Conceição.


Joana Ribeiro participou também em vários projetos internacionais como O Homem que Matou Dom Quixote (2018), de Terry Gilliam, onde teve a oportunidade de contracenar com Adam Driver e Jonathan  Pryce e que ela referiu ter “sido um sonho”, numa entrevista à TSF. Em 2019, participou no episódio-piloto de The Dark Tower, uma série da Amazon Prime inspirada numa série de livros criada pelo escritor norte-americano Stephen King, e fez parte da longa-metragem Fátima, do realizador italiano Marco Pontecorvo, que relata a alegada aparição de Fátima aos três pastorinhos em 1917.


Mais recentemente, fez Sombra (2021), a segunda longa-metragem do realizador e argumentista Bruno Gascon, que se baseia em histórias verídicas de desaparecimento de crianças, e participou no filme de ficção científica Infinite, realizado por Antoine Fuqua e protagonizado por Mark Wahlberg.
 
Em 2020, integrou a lista dos dez jovens talentos europeus selecionados para o programa European Shooting Stars, uma iniciativa levada a cabo pela European Film Promotion (EFP) durante o Festival Internacional de Cinema de Berlim.