Born in Modena, Benassi began his career at his local club Modena. In January 2011 Benassi was signed by Internazionale on a temporary deal. After a half-season with the Inter U17 youth team, Benassi signed for Inter permanently in a co-ownership deal for €180,000. Benassi was a member of both Inter U18 and U19 team in 2011–12 season, winning the Primavera league and European title – NextGen Series. He also played for the U18 team in the league playoffs round, winning the Berretti league. Benassi was included in summer training camp by his former U19 team coach Andrea Stramaccioni, winning the pre-season TIM Trophy and well as being included in the 25-men List A squad for 2012–13 UEFA Europa League; as one of the 4 essential association trained player as required by UEFA. In October 2012 he signed a new 5-year contract. Benassi made his senior debut for Inter 22 November 2012 against Russian side FC Rubin Kazan in the starting XI. Fielding a younger squad, Inter lost 3–0. On 12 January 2013, he made his Serie A debut for Inter, starting in a 2–0 victory over Pescara. On 21 February 2013, he scored his first senior goal against CFR Cluj.
On 9 July 2013 he was transferred on loan to Livorno, making his competitive debut on 17 August in a 1–0 Coppa Italia defeat against Siena. He scored his first goal in the Italian top flight on 26 January 2014 at home to Sassuolo, before scoring his second of the season on 16 March against Bologna.
On 1 July 2014 it was officially announced that he was sold to Torino under a co-ownership agreement, as part of the transfer that brought Danilo D'Ambrosio to Inter in January. Benassi made his debut for the Granata as a substitute during the third round of the 2014–15 Europa League which Torino won 3–0 against Swedish club Brommapojkarna. On 18 January 2015 he scored his first goal for Torino against Cesena. He scored again on 8 March after entering as a substitute for Alessandro Gazzi, marking the final goal in a 3–2 defeat at the Stadio Friuli against Udinese. He returned to the scoresheet in the final game of the season against Cesena. On 25 June 2015, the deadline for the expiration of the co-ownership, Torino acquired the other half of his contract for an additional €3.3 million, after winning a blind auction against the reported €2.9 million offered by the Nerazzurri. At the start of his second season with the club he changed his shirt number, from 94 to 15. During a 2–1 win over Palermo on 27 September 2015, Benassi scored with a volley reminiscent of Marco van Basten's strike in the final of Euro 88. On 7 February 2016 he opened the scoring in a home loss against Chievo Verona. He finished the season with 32 appearances in which he scored three goals. He scored his first goal of the 2016–17 season in a 2–1 win against Fiorentina on 2 October 2016; a match in which he also wore the captain's armband for the first time for Torino.
Fiorentina
On 9 August 2017 it was announced that Fiorentina had signed Benassi on a five year deal.
A talented, hard-working, well-rounded and versatile box-to-box midfielder, Benassi is capable of playing both as a defensive midfielder or as a more offensive mindedcentral midfielder; he has also been used as a winger. In addition, he is both a skilled tackler and physically strong with good vision and technique, as well as an ability to time and make late attacking runs from behind into the box. He also possesses a good ability to strike from distance.