Stade Rennais Born in
Ajaccio, France, Diakhaby began his football career at
Caen B and progressed through the ranks. However, he left the club after he rejected a contract from them. It was announced on 8 November 2015 that Diakhaby signed for
Rennes on a one–year contract. He was quickly assigned to the
Rennes B for the rest of the 2015–16 season. While developing, the club's B team Christophe Gadby said about Diakhaby, saying: "He was well above the level. I remember a young man who was respectful of people and of instructions." and
Caen in a friendly match at the Pierre-Compte de Vire stadium on 22 July 2017. Diakhaby made his
Ligue 1 debut with
Rennes on 14 August 2016 against
OGC Nice, replacing
Giovanni Sio after 70 minutes. He scored his first Ligue 1 goal two weeks later away at
Montpellier HSC to draw the game 1–1. After not appearing in two matches, Diakhaby came on as a substitute in the 79th minute against
Guingamp on 30 September 2016 and scored his second goal of the season, in a 1–0 win. Since making his debut for Rennes, Diakhaby found his playing time, mostly coming from the substitute bench throughout the 2016–17 season, though he appeared in a starting line–up in a number of matches. This led Manager Gourcuff explaining his progress in the first team, saying: "Physically reduced. Every time he has an injury, it interrupts his physical preparation, the rehabilitation takes a long time. That had been the case when he was injured in October. The most important thing is that he can continue training this week. He has run a lot, it is above all the ability to change the pace that is essential for him. At the post, he has the ability to play on the left. The formulas are not set in stone. It is a question of collective balance and complementarity. He can play mid-axis provided he is in full possession of his means." It wasn't until on 8 January 2017 when Diakhaby scored his third goal of the season, in a 6–0 win against Jeanne d'Arc de Biarritz in the first round of the Coupe de France. It was announced on 25 January 2017 that he signed a contract extension with the club, keeping him until 2021. In the last game of the season against
Monaco, Diakhaby scored a brace against them, as Stade Rennais lost 3–2. Despite being sidelined on two occasions throughout the 2016–17 season, Diakhaby went on to make twenty–nine appearances and scoring five times in all competitions.
AS Monaco Over the summer
transfer window of 2017, Diakhaby was linked with a move to
Monaco as a replacement for the outgoing
Kylian Mbappé. It was announced on 2 August 2017 that he signed for the club, signing a five–year contract. The transfer fee was reported to be an estimated at 10 million euros. Diakhaby made his AS Monaco debut, starting a match against
Dijon on 13 August 2017 and set up the club's third goal of the game, in a 4–1 win. Two weeks later on 27 August 2017, he scored his first goal for AS Monaco, as well as, setting up the club's third goal of the game, in a 6–1 win against
Marseille. Diakhaby then made his UEFA Champions League debut, starting a match and played 74 minutes before being substituted, in a 1–1 draw against
RB Leipzig on 13 September 2017. Since making his debut for AS Monaco, he found his playing time, mostly coming from the substitute bench. It wasn't until on 9 January 2018 when Diakhaby scored his second goal for the club, in a 2–1 win against
OGC Nice in the quarter–finals of the Coupe de la Ligue. He once again scored against OGC Nice on 16 January 2018, in a 2–2 draw. However in a follow–up match against
FC Metz, Diakhaby suffered a hamstring injury and was substituted in the 55th minute, in a 3–1 win. It wasn't until on 10 February 2018 when he returned to the starting line–up against
Angers SCO and set up Monaco's second goal of the game, in a 4–0 win. In the
Coupe de la Ligue Final against
Paris Saint-Germain, Diakhaby played 17 minutes after coming on as a substitute, as the club lost 3–0. However during a match against
Amiens on 28 April 2018, he was sent–off in the last minute of the game for unprofessional foul, as AS Monaco drew 0–0. At the end of the 2017–18 season, he went on to make thirty appearances and scoring three times in all competitions.
Huddersfield Town On 20 July 2018, Diakhaby joined
Premier League club
Huddersfield Town for an undisclosed fee on a three-year deal with the option of an additional year. Diakhaby made his Huddersfield Town debut, coming on as a 71st-minute substitute, in a 3–0 loss against
Chelsea in the opening game of the season. He was then featured in the next five matches for the club before missing one match, due to tactical change made by Manager
David Wagner. It wasn't until on 20 October 2018 when Diakhaby returned to the first team, coming on as a late substitute, in a 1–0 loss against
Liverpool. However, his return was short–lived when he dropped from the first team for the next three months. Manager Wagner commented on his absent, saying: "He is fit, but he still adapts to us, our football, our style and the Premier League. So he is not in the shape where he was when we've seen him in Monaco, for example, or where he had some better periods with us already." It wasn't until on 5 January 2019 when Diakhaby made his first appearance in three months, starting a match and played 73 minutes, in a 1–0 loss against
Bristol City in the third round of the FA Cup. He then made four starts for the side between 20 January 2019 and 9 February 2019 under the management of
Jan Siewert. However, Diakhaby suffered a hamstring injury that kept him out for three months. While on the sidelines, the club were relegated to the Championship. It wasn't until on 5 May 2019 when he returned from injury, coming on as a late substitute, in a 1–1 draw against
Manchester United. At the end of the 2018–19 season, Diakhaby made thirteen appearances in all competitions. At the start of the 2019–20 season, Diakhaby became a first team regular for Huddersfield Town, continuing to play under the management of Siewert and then
Danny Cowley. He then set up three goals in three consecutive matches between 1 October 2019 and 19 October 2019 against
Stoke City,
Hull City and
Blackburn Rovers. However, by December, Diakhaby was sidelined for a month and as a result of not playing, he was placed on a transfer list. By the time Diakhaby was loaned out, he made eighteen appearances in all competitions.
Nottingham Forest (loan) It was announced on 21 January 2020 that Diakhaby was loaned out to
Nottingham Forest for the rest of the 2019–20 season. It came after when Nottingham Forest confirmed their interests in signing him. Diakhaby made his Nottingham Forest debut, coming on as a 76th-minute substitute, in a 1–0 win against
Brentford on 28 January 2020. However, his performance received criticism from the club's supporters. By the time the season was suspended because of the
COVID-19 pandemic, he had made nine league appearances, mostly coming from the substitute bench. Once the season resumed behind closed doors, Diakhaby had his loan spell extended beyond 30 June 2020. He continued to have his playing time, mostly from the substitute bench in the remaining matches of the 2019–20 season. At the end of the season, Diakhaby went on to make fourteen appearances and returned to his parent club.
Amiens Diakhaby signed for Amiens on an 18-month contract on 1 February 2021.
Qarabağ On 13 January,
Qarabağ announced the signing of Diakhaby on a contract until 30 June 2025. He scored his first goal against
Turan Tovuz on 13 August 2023. On 3 June 2024, Qarabağ announced the departure of Diakhaby.
Bandırmaspor In July 2024,
TFF 1. Lig club
Bandırmaspor signed a 2-year contract with him.
Politehnica Iași In February 2025, he signed for Romanian
Liga I club
Politehnica Iași until the end of the season.
Waldhof Mannheim On 7 July 2025, Diakhaby joined
SV Waldhof Mannheim in German
3. Liga. ==Style of play==