Benalouane started out his professional career at a French club Saint-Étienne, playing exclusively for the reserves in 2005 before successfully promoted to the first team in 2007.
On 31 August 2010, Benalouane joined Serie A club Cesena for an undisclosed fee. After a particularly poor performance in a 2–0 loss against Bologna in December 2010, Benalouane was substituted. On leaving the pitch, and being jeered by Cesena supporters, he stormed past the bench and headed straight down the tunnel. He later publicly apologised for his behaviour.
On 3 August 2015, Benalouane joined Premier League club Leicester City on a four-year contract for an undisclosed fee, reported to be €8 million. On 31 January 2016, he joined Italian club ACF Fiorentina on loan until the end of the season, but did not play for the club due to injury. In June 2016, Benalouane filed an appeal with the Lega Serie A over unpaid wages from Fiorentina, whose sporting director claimed Leicester had deceived them over the player's fitness. He played only four league games in the 2015–16 Premier League season, when Leicester became champions, making him ineligible for a winner's medal. Following the close of the transfer window, Benalouane was excluded from Leicester City's finalised squad for the 2016–17 Premier League season. Benalouane spent most of the season playing for the reserves, but returned to the first team in January 2017 following the departures of Luis Hernández and Jeffrey Schlupp. He played his first senior game of the 2016–17 season in a 3–1 FA Cup fourth-round replay win over Derby County on 8 February 2017.
Nottingham Forest
On 18 January 2019 it was announced that Benalouane had become new manager Martin O'Neill's first signing for Nottingham Forest. He made his debut for the club the following day, playing the full 90 minutes of a 0–1 home defeat to Bristol City. He scored his first goal for the club in a 1–0 win over arch-rivals Derby County on 25 February 2019.
International career
Benalouane was eligible to play either for France or Tunisia. Despite playing once for the French under 21 team, he submitted a transfer request to represent the Tunisian senior team in 2010. However, despite receiving a call-up against Chad in an African Cup of Nations qualifier, he missed the game because he failed to be vaccinated prior to travel to Chad. In October he refused to join Tunisia for the match against Togo, for which he expected to receive a call-up from Laurent Blanc instead. However, FIFA warned Benalouane that as the paperwork had been completed, he could represent Tunisia only, a refusal to show up may risk a ban in club football. Benalouane refused another call-up in August 2013. In March 2018, Benalouane was once again called up by Tunisia, and this time he accepted the call up. Benalouane made his debut for Tunisia in a 1–0 victory over Iran on 23 March 2018, playing the full match. He was named in Tunisia's final 23-man squad for the 2018 World Cup in Russia.