*Club domestic league appearances and goals, correct as of 03:31, 3 October 2024 (UTC) ‡ National team caps and goals, correct as of 18:27, 19 February 2024 (UTC)
Moreira first began with AS Champs-sur-Marne in 2000, staying there for five years until he joined US Torcy in 2005.[5] He later joined the Rennes youth academy in 2009, and secured a professional contract with the Breton side in 2013, scoring his first professional goal for Rennes on 19 January 2016 in a Coupe de France match,[6] notching his team's only goal in a 3–1 loss to Bourg-en-Bresse.[7] Moreria joined FC Lorient on 30 August 2016 for a reported €1.2 million, signing a four-year deal.[8][9] He scored a goal against RC Lens in the second round of the Coupe de la Ligue.[10]
Moreira was transferred to Toulouse on 10 August 2018 and agreed to terms on a three-year deal.[11][12] He incurred a three-match suspension following a red card received during a match against Marseille on 24 November 2019.[13][14] On 15 February 2020, he was shown a red card for a foul on Adam Ounas, resulting in another three-match suspension.[15][16][17] He would score his first league goal for the club on 26 September 2020, contributing to a 3–1 victory at home for Les Violets.[18] On 20 March 2021, Moreira received a red card in a 1–0 defeat against Niort, serving a three-match suspension as a result.[19][20]
In August 2021, Moreira signed with Columbus Crew on a free transfer, with team options to extend his contract until the end of the 2023 season.[21] He would go on to appear in eight total matches in his first season, including making his team debut in the Campeones Cup.[22] On 27 August 2022, Moreira scored his first goal for the Crew, a right-footed volley in the 96th minute to tie Hell is Real rivals FC Cincinnati 2–2.[23] In December 2023, it was announced that he extended his contract until 2025, with an option for 2026.[24]