Kaboul began his career at Auxerre and was a regular for the club by 2006. He won the Coupe de France in 2005, as well as having European football experience in the UEFA Cup. He was known to be the "back bone" for Auxerre due to his excellent tackling skills, good judgment and strength. He was also known to score a few key goals that clinched wins for the club.
Tottenham Hotspur
Kaboul signed for Tottenham Hotspur in the Premier League on 5 July 2007 for an undisclosed fee believed to be around £8 million. He quickly became a fan favourite, admired for his power and aggression on the pitch. He played his first game for Tottenham in a friendly against St. Patrick's Athletic on 12 July. He made his Premier League debut starting alongside Anthony Gardner in the centre of defence in a 1–0 loss against Sunderland on the first day of the 2007–08 season. Kaboul then scored his first goal for Tottenham on 1 September against Fulham. He scored again on his European debut for Tottenham, on 20 September, netting the first goal in a 6–1 win over Anorthosis. On 1 October, on the club's 125th anniversary, Kaboul scored the equalizer late in stoppage time against Aston Villa to pull Tottenham level at 4–4 and complete a remarkable comeback from 4–1 down. After a period out of the team due to numerous errors, his comeback to the side away to Derby County on 8 February 2008 saw him score his fourth goal of the season. He came on as a 102nd-minute substitute for Robbie Keane as Spurs beat Chelsea 2–1 in the 2008 Football League Cup Final at Wembley Stadium on 24 February. Overall, Kaboul made 29 appearances for Tottenham in his initial spell at the club, adding four goals.
Portsmouth
On 11 August 2008, Kaboul joined Portsmouth on a four-year contract for an undisclosed fee believed to be around £6 million. His first goal for Portsmouth came in the UEFA Cup against Milan on 27 November 2008. His first league goal was an emphatic left-footed strike into the top corner, on 12 April 2009 at home against West Bromwich Albion. He scored his second league goal in a 4–1 loss to Arsenal on 22 August. In total, Kaboul made 50 appearances for Portsmouth, scoring five goals.
Return to Tottenham
On 30 January 2010, Tottenham announced that Kaboul would be rejoining the club for an undisclosed fee, reported to be £9.5 million. Portsmouth would receive just £6.5 million of this owing to installments outstanding on the earlier transfer and to a sell-on clause. Then club manager Harry Redknapp stated that the player was "much improved" from his original spell at White Hart Lane, and that Kaboul was a "late developer". On 5 May 2010, Kaboul was in the starting 11 against Manchester City playing right back. He was instrumental in the goal that brought Tottenham a 0–1 victory, whipping in a cross that the City goalkeeper could only palm into the path of Tottenham striker Peter Crouch. This victory guaranteed them fourth position in the 2009–10 Premier League and passage into the UEFA Champions League qualifiers for the first time in the club's history. Kaboul scored the winner in the North London derby against Arsenal in a match which Spurs were 2–0 down at half-time, and continued his scoring form after volleying home the first goal in a 3–0 victory against Werder Bremen in the Champions League. On 15 September 2014, manager Mauricio Pochettino made Kaboul Tottenham's permanent club captain, after predecessor Michael Dawson moved to Hull City. In August 2015, however, he was stripped of the captaincy in favour of compatriot goalkeeper Hugo Lloris.
Sunderland
On 16 July 2015, Kaboul signed for Sunderland on a four-year contract for an undisclosed fee. On 8 August 2015, he made his debut in a 2–4 defeat away to Leicester City. On 19 September, Kaboul was sent off for two bookable offences in a 0–2 defeat away to AFC Bournemouth. After struggling for form and fitness under Dick Advocaat at the start of the season, new manager Sam Allardyce paired Kaboul with new defensive signing Lamine Koné in the latter stages of the season. The pair formed an effective partnership as Sunderland improved defensively, culminating in a man of the match performance from Kaboul in a 3–0 victory over Everton on 11 May 2016 that secured the club's Premier League survival and left Kaboul in tears during post-match celebrations.
Watford
On 19 August 2016, Kaboul joined Watford on a three-year deal for a fee around the margin of £4 million. On 1 January 2017, he scored his first goal for the Hornets in 1–4 loss to his former club Tottenham Hotspur, and netted again in a 2–1 win at Arsenal later in the same month. Having not played since September 2017, on 21 December 2018 he left the club by mutual consent.
International career
Kaboul captained the under-21 team. He played five times for the senior team in 2011, scoring a header from Marvin Martin's corner on his debut, a 4–1 friendly win away to Ukraine at the Donbass Arena on 6 June. On 15 May 2012, Kaboul was ruled out of a possible place at UEFA Euro 2012 after suffering a knee injury during Tottenham's final match of the 2011–12 season. Kaboul is of Moroccan descent, and in 2010 he denied choosing their national team.