Zaza komt uit de jeugdopleiding van Atalanta. Op 19 april 2009 debuteerde hij in het eerste elftal hiervan in de Serie A, tegen Reggina Calcio. Hij viel na 76 minuten in voor György Garics. In 2010 tekende hij bij Sampdoria. Die club verhuurde hem meteen aan Juve Stabia, dat op dat moment in de Serie B speelde. In december 2010 werd hij teruggehaald om in januari 2011 opnieuw verhuurd te worden, ditmaal aan Esperia Viareggio. Op 17 juli 2012 besloot Sampdoria om Zaza een volledig seizoen te verhuren aan Ascoli.
Op 9 juli 2013 kocht Juventus de helft van de transferrechten van Zaza. Op 20 juni 2014 kocht US Sassuolo de transferrechten die Juventus in bezit had over voor een bedrag van 7,5 miljoen euro. Zaza speelde in twee seizoenen 64 competitiewedstrijden voor Sassuolo, waar hij in januari 2015 zijn contract verlengde tot medio 2019.[2] In die periode maakte hij twintig doelpunten in de Serie A. Hij tekende in juli 2015 een contract tot medio 2020 bij Juventus, de kampioen van Italië van het voorgaande seizoen. Dat betaalde circa 18 miljoen euro voor hem aan Sassuolo.[3] In zijn eerste seizoen bij de club, waarin Juventus opnieuw de landstitel won, speelde Zaza negentien competitiewedstrijden en maakte hij vijf doelpunten.[4]
Juventus verhuurde Zaza in augustus 2016 voor een jaar aan West Ham United, dat daarbij een optie tot koop kreeg ter hoogte van twintig miljoen euro. De Engelse club stuurde hem echter in december 2016 terug naar Turijn. Juventus verhuurde hem in januari 2017 vervolgens voor een half jaar aan Valencia CF.
Op 31 augustus 2014 werd Zaza door Italiaans bondscoach Antonio Conte opgeroepen voor de interlands tegen Nederland (vriendschappelijk) en Noorwegen (EK-kwalificatiewedstrijd). Op 4 september 2014 debuteerde hij als Italiaans international in het basiselftal voor de wedstrijd tegen Nederland. Zaza werd na 73 minuten vervangen door Mattia Destro. Italië won het vriendschappelijke treffen met 2–0, dankzij doelpunten van Ciro Immobile en Daniele De Rossi.[5] Vijf dagen later maakte hij zijn eerste doelpunt voor Italië in de EK-kwalificatiewedstrijd tegen Noorwegen. Zaza zette Italië na 16 minuten op voorsprong. In de tweede helt verdubbelde verdediger Leonardo Bonucci de score.[5] Op 10 oktober 2014 speelde Zaza voor het eerst 90 minuten mee in de EK-kwalificatiewedstrijd tegen Azerbeidzjan.[6] Hij werd op 23 mei 2016 opgenomen in de selectie voor het Europees kampioenschap voetbal 2016 in Frankrijk.[7] Op 2 juli 2016 viel Zaza in de laatste minuut van de verlenging in in de kwartfinale tegen Duitsland. De strafschop die hij in de daaropvolgende strafschoppenserie moest nemen, miste hij, net als drie van zijn teamgenoten (5–6 verlies).