Lopes sloot zich op veertienjarige leeftijd aan in de jeugdopleiding van Peterborough United. Op 25 april 2015 debuteerde hij in de Football League One tegen Crawley Town in de basiself.[2] In zijn eerste seizoen speelde de middenvelder twee competitiewedstrijden, het seizoen erop acht. Op 22 april 2017 maakte Lopes twee doelpunten tegen Bristol Rovers.[3]
In 2018 besloot hij een stap hogerop te zetten en tekende een contract bij Wigan Athletic FC in de Engelse tweede klasse. Na een uitleenbeurt aan Gillingham FC belandde Leonardo in 2019 bij Hull City AFC, toen uitkomend in The Championship. Bij The Tigers kwam de defensief ingestelde middenvelder tijdens seizoen 2019/20 in totaal 44 keer in actie, goed voor twee goals en vier assists.
In september 2020 maakte Lopes de overstap naar de Belgische eersteklasser Cercle Brugge, waar hij een contract voor vier seizoenen ondertekende.[4]