Moreno begon met voetballen bij CF Badalona. In 2010 werd hij opgenomen in de jeugdopleiding van Villarreal CF, waar hij in het derde elftal terechtkwam. In 39 competitiewedstrijden trof hij 34 keer doel. Na dit seizoen sloot hij aan in het tweede elftal. Hier speelde hij twee seizoenen, waarna hij vanaf december 2012 regelmatig voor het eerste team speelde. Op 25 januari 2013 maakte Gerard zijn eerste doelpunt voor de hoofdmacht. In de zomer van 2013 werd hem een profcontract aangeboden en werd hij direct voor één seizoen verhuurd aan degradant RCD Mallorca.
Moreno debuteerde op 15 oktober 2019 in het Spaans voetbalelftal, in een kwalificatiewedstrijd voor het EK 2020 in en tegen Zweden (1–1). Bondscoach Robert Moreno liet hem toen de volledige speeltijd volmaken. Zijn eerste interlanddoelpunt volgde op 15 november 2019. Hij schoot toen de 6–0 binnen in een met 7–0 gewonnen EK-kwalificatiewedstrijd tegen Malta. Drie dagen later scoorde hij twee keer in een met 5–0 gewonnen EK-kwalificatiewedstrijd tegen Roemenië.