Petagna started his football career in A.C. Milan's youth system, where he was a member of the under-15 squad who won the Campionato Nazionale Giovanissimi in 2010 and a member of the under-17 squad who won the Campionato Nazionale Allievi the following year. He made his professional debut on 4 December 2012, coming on as a substitute in the late stages of a UEFA Champions League group stage home game against Zenit St. Petersburg, which Milan lost 0–1.
At the start of the 2013–14 season, Petagna was promoted full-time to the first team. He made his Serie A debut on 24 August 2013, coming on as a late substitute in the opening game, a 2–1 away loss against newly promoted Hellas Verona. However, following the acquisition of Alessandro Matri in the late days of the summer transfer window, Milan decided they would let Petagna go out on loan to Sampdoria in order to gain more first team experience. Sampdoria also had the option to make the deal a co-ownership agreement at the end of the season-long loan spell. In spite of that, the loan was terminated early and Petagna returned to Milan in January, having made five scoreless appearances during his stay at Sampdoria. He finished the season with three more senior appearances, while being mainly employed by the under-19 squad managed by Filippo Inzaghi. The side won the Viareggio Cup in February, defeating Anderlecht in the final, with Petagna scoring the equaliser for the rossoneri in a 3–1 win.
On 16 July 2014, Petagna was loaned out to Serie B side Latina ahead of the 2014–15 season. On 13 January 2015, he was signed by Vicenza on loan.
On 30 August 2015 he was signed by Serie B newcomers Ascoli on loan.
On 25 January 2016, Petagna signed for Atalanta and was loaned to former club Ascoli until 30 June 2016.
Petagna won five caps for Italy under-16 between 2010 and 2011. In 2011, he won one further cap for Italy under-17. He went on to be capped for Italy under-18, making eight appearances and scoring two goals in 2013. In 2013, he was also capped for Italy under-19, making his first appearance on 24 April.
He made his debut with the Italy U21 team on 11 October 2016, in the 2017 European U21 Championship qualification match against Lithuania in Kaunas.
On 28 March 2017, Petagna made his senior international debut for the Italy national football team, along with four other players, coming on as a substitute in a 2–1 friendly away win against the Netherlands.
In June 2017, he was included in the Italy under-21 squad for the 2017 UEFA European Under-21 Championship by manager Luigi Di Biagio.As of 1 June 2017
1European competitions include the UEFA Champions League.As of 28 March 2017
2Other tournaments include none to date.