Bonazzoli started his career at Brescia. He played his first professional match on 15 May 1997 against Lecce, which his only match of the season the Serie B Champion. In the next two seasons he occasionally played for the first team and youth team. In second half of 1998–99 season, he left for league rival Cesena.
Bonazzoli was signed by Parma in a co-ownership deal in 1999. He was loaned back to Brescia and scored 9 league goals for the team.
In June 2000, Parma decided bought all remain registration rights from Brescia. He played the opening match on 1 October 2000, then left on loan to league rival Verona.
Bonazzoli returned to Parma and played 1½ season for the team.
Bonazzoli was sent on loan to Reggina in January 2003. At the end of season the club signed him in a co-ownership deal, for €925,000.
In summer 2005, he was loaned to Sampdoria along with Marco Zamboni, which Bonazzoli secured a permanent move from Parma and Reggina in summer 2006. He suffered from injuries and at the start of 2007–08 Serie A, Andrea Caracciolo was signed to replace him.
He scored 4 goals in a UEFA Cup match for Sampdoria, on 14 January 2009, he was loaned to Fiorentina in exchange for Giampaolo Pazzini.
In July 2009 he signed a contract with Reggina in order to seek more regular start. He only valued €850,000 at that time.
He was excluded from the squad for the start of the 2012–13 Serie B season.
In November 2012 he joined Calcio Padova, which became official at the start of the January transfer window.
In September 2013, Bonazzoli was signed by the Serie D club, S.S.D. Calcio Marano.
In January 2014, Bonazzoli was signed by the Hungarian League club, Budapest Honvéd FC.
In July 2014, Bonazzoli was signed by the Hungarian League club, A.C. Este.
In May 2015, Bonazzoli was signed by the National Premier Soccer League club, Miami Fusion FC.
In July 2015, Bonazzoli was signed by the Lega Pro club, Siena.
On 29 December 2015 Bonazzoli was signed by fellow third level club Cittadella.
Bonazzoli was a member of Italy's U-18 team (now called U19 team) at the 1996 UEFA European Under-18 Championship Final tournament, the Italy U-21 team that won the 2002 European Under-21 Football Championship. He was first called up for the Italy squad in September 2006 for Euro 2008 qualifying qualification matches against Lithuania and France, but did not play in any of those. He finally made his international debut in a friendly against Turkey on 15 November 2006.Brescia
Serie B: 1996–97