El Shaarawy maakte op zestienjarige leeftijd zijn debuut voor Genoa in de Serie A. Na drie wedstrijden voor de club te hebben gespeeld, werd de middenvelder in 2010 verhuurd aan Padova. Hier wekte hij de interesse van AC Milan, dat in juni 2011 vijftig procent van zijn transferrechten overnam van Genoa tegen betaling van tien miljoen euro.[1] Als onderdeel van de afspraken ontving Genoa de helft van de transferrechten van Milanees Alexander Merkel. In 2012 werd El Sharaawy tweede in de verkiezing van de Golden Boy Award (talent van Europa) achter Isco. Op 28 februari 2013 kreeg hij een contractverlenging tot de zomer van 2018, waarmee zijn salaris werd opgetrokken. Daarvoor had hij een jaarsalaris van 800.000 euro.[2]
AC Milan verhuurde El Shaarawy op 13 juli 2015 voor een jaar aan AS Monaco, de nummer drie van de Ligue 1 in het voorgaande seizoen. In het huurcontract werd een bepaling opgenomen die Monaco verplichtte hem medio 2016 voor 16 miljoen euro te kopen indien hij meer dan 15 wedstrijden in actie zou komen. El Shaarawy speelde uiteindelijk 14 wedstrijden, waarna AS Monaco hem niet meer opstelde omdat het hem niet over wilde nemen. In januari zocht AC Milan een oplossing voor El Shaarawy. AS Roma bleek bereid om hem op huurbasis over te nemen.[3] Hiervoor speelde hij dat seizoen nog zestien competitiewedstrijden, waarin hij acht keer scoorde. AS Roma lichtte in juni 2016 vervolgens een optie in zijn contract, waarmee het hem voor €13.000.000,- definitief overnam van AC Milan. El Shaarawy tekende daarbij tot medio 2020 bij de club.[4]
Hij tekende in juli 2019 een contract tot 2022 bij Shanghai Shenhua dat €18.000.000,- voor hem betaalde aan AS Roma. In januari 2021 keerde hij terug bij Roma.