Pazzini started his career at Atalanta, with whom he made his professional debut in 2003, and quickly emerging as a promising youngster. He spent two seasons with Atalanta, playing 51 league games and scoring 12 goals (of which 3 of them at Serie A level). He switched from a left back to a striker.
Pazzini joined Fiorentina from Atalanta for around €6 million in January 2005. During his first season, he scored ten goals in four appearances. but did not find space in Cesare Prandelli's plans as the latter preferred Luca Toni as the main striker, with Pazzini and Valeri Bojinov acting as second strikers.
With the arrival of former Milan striker Alberto Gilardino, Prandelli opted for Adrian Mutu and Gilardino to form a striking partnership, reducing Pazzini to a backup role.
As a result of limited first team opportunities, Pazzini agreed a move to Sampdoria in January 2008 for a €9 million transfer fee.
After his first match, against Palermo, in the next matchday Pazzini found the back of the net for the first time with the blucerchiati against Udinese in the Coppa Italia. He scored his first goal in Serie A with his new team on 1 February 2009 in the match against Chievo, which finished in a 1–1 draw. His rejuvenated form continued when he hit his first brace with Sampdoria in a 3–0 hammering against Italian champions Internazionale in the Coppa Italia, and his second consecutive brace arrived in the Serie A encounter against Roma (2–2). He combined well with Antonio Cassano up front, forming arguably one of the most effective partnerships of the season in Serie A, and drawing comparisons with Sampdoria's former Gianluca Vialli and Roberto Mancini strike-pairing of the late 1980s and early 1990s.
On 26 September, he scores the winner-goal in a match against Inter. Winning this game, Sampdoria can lead the table for the first time since 1991.
Pazzini joined Italian champions Internazionale on a four-and-a-half-year deal on 28 January 2011, with Jonathan Biabiany heading in the opposite direction as part of the deal; Pazzini was valued €19 million whilst Biabiany was tagged for €7 million. Pazzini scored a brace on his debut, a 3–2 home win over Palermo, and scored another goal in his second game against Bari. He also scored the winner in a 1–2 win against Fiorentina on 16 February 2011. On 30 April 2011, he scored 2 in a 2–1 win over Cesena, both in stoppage time. On 22 May 2011, he scored a further two goals in Inter's 3–1 victory over Catania.
Pazzini began the 2011–12 season on a weak note, failing to score until the fifth matchday in a 3–1 victory over Bologna. He then scored in the next match after a dribble from teammate Yuto Nagatomo in a 3–2 away victory against CSKA Moscow. He later suffered a three-month goal drought until he scored Inter's opener in a 2–0 victory against Fiorentina. Pazzini also added another goal later that month against Lecce and scored in Inter's opening match of the 2012 calendar year in a 5–0 victory against Parma. Owing partially to the excellent form of his teammate Diego Milito and partially due to a lack of consistency in managerial preferences and squad selection, Pazzini made a majority of his appearances for Inter during the 2011–12 season as a substitute off the bench. As such, Pazzini was only able to score five goals in Serie A for the season and was often frustrated in front of goal in European competition as well.
After being transfer listed by the Nerazzurri, Pazzini joined Milan on 22 August 2012, in exchange for Antonio Cassano and a €7.5 million compensation in favour of the Nerazzurri. (Pazzini tagged for €13 million and Cassano for €5.5 million.)
On 24 August 2012, Pazzini told La Gazzetta dello Sport of what occurred at Inter: "I dream about being a deciding factor in a derby and in many other matches. I could say some things but the row would go on for days and I just don't feel like it. The night before the summer training camp I had a phone call telling me I was out of the team," he revealed, "and the following day I was told: 'You won't be playing in any of the friendlies', but it wasn't Stramaccioni. I was getting bad vibes, but now I'm looking to the future." I'm really motivated because I'm coming out of a negative year," explained Pazzini. "I really want to get things together and get back to being the player I was five months ago, at international level too. I dream of getting a call from Prandelli." Regarding the swap that brought Cassano to Inter, Pazzini stated, "Antonio and I have been friends since our days at Sampdoria. When I read about this deal on the front page of a paper I called him and joked: 'See, these days you need me to get your name onto the front page...' But during the training camp at Inter, it was Pazzini who announced his imminent departure to the fans. "It wasn't an outburst of any kind, I was calm and cool. I made a few statements," he explained, "because I already knew all about it. I read that I had been thrown out of the squad after that statement, but it isn't true. I had already made up my mind, and that statement was spontaneous. I hadn't been expecting it, but they made the decision and I accepted it. AC Milan are the best and I can hold my head up high."
On 1 September, on his second appearance but first full-debut, Pazzini netted a hat-trick in Milan's 3–1 victory over Bologna, with his style of play drawing comparisons with Milan legend Filippo Inzaghi, who had retired a couple of months earlier. On 3 November 2012, Pazzini ended his eight-game goal drought when he scored the final goal in stoppage time in Milan's impressive 5–1 win over Chievo. It was the first time Pazzini had found the back of the net since his hat-trick back in September. On the 2 March 2013, Pazzini scored two important goals in a win over Lazio, which put Milan third in the Serie A table, overtaking Lazio. On April 28, he came off the bench and scored another quick fire double to take his tally to 15 in Serie A and help Milan leapfrog Fiorentina into third in Milan's 4–2 win over Catania. Pazzini ended his first season at Milan with 15 Serie A goals in 30 appearances and a further one goal in two appearances in the 2012–13 Coppa Italia.
On 24 May 2015, Pazzini scored his 100th Serie A goal in a 3–0 home win over Torino.
Upon the expiration of his Milan contract in the summer of 2015, Pazzini moved on a free transfer to Hellas Verona, his sixth professional club. He scored his first goal, a penalty, in a 1–1 draw against Udinese on 18 October.
Pazzini was formerly a member of the Italy under-21 team. On 24 March 2007, he scored the first goal and first hat-trick at the new Wembley Stadium in a 3–3 friendly draw with England.
Pazzini made his debut with the senior Italian team on 28 March 2009 in a World Cup qualification match against Montenegro, scoring his first goal. Four days later, he was awarded with a place in the starting line-up against the Republic of Ireland. Unfortunately, his second cap was less fortunate, as he was sent off in the second minute of the match for elbowing defender John O'Shea. His red card represents the fastest sending-off in Italian history. Pazzini started the friendly against Northern Ireland in Pisa on 6 June 2009, where he missed a penalty in the 55th minute.
He took part at the 2010 World Cup in South Africa.
On 3 June 2011, two years after his debut, he scored his second goal with the national team in a qualifying game against Estonia.Scores and results list Italy's goal tally first.
As of 11 November 2011
In 2011, Pazzini married an Italian woman, Silvia Slitti, who he had been engaged to ten years previously. Giampaolo and Silvia got married at CastaDiva in Lake Como. Pazzini and his wife have one child, a son, Tommaso Pazzini, born on 21 December 2011.
Pazzini features in EA Sports' FIFA video game series; he was on the cover of the Italian edition of FIFA 12, alongside Philippe Mexès, and global cover star Wayne Rooney.