Behrang Safari emigrated to Sweden as a two-year-old from Tehran, Iran, with his family. They settled in the small town of Höganäs, and later moved to Lund when he was five.
Career
Malmö FF
Safari came through the ranks at Malmö FF and played his first game in the Allsvenskan in July 2004 when he came on as a substitute. He made his UEFA debut in the 2004 UEFA Intertoto Cup on 19 June 2004 against Cork City F.C.. He won the Allsvenskan in his first season and became a first-team regular the following season.
On 15 June 2008, Malmö announced that Safari had been sold to FC Basel in Switzerland. This was confirmed one day later by FCB Online. He made his Basel debut on 23 July 2008 in a 1–0 win over Grasshopper Club Zürich at St. Jakob-Park. He played his first European game in a Basel shirt on 30 July 2008 in a 1–1 Champions League qualifying match draw against IFK Göteborg at Ullevi. He scored his first goal for Basel in the 4–0 home win against BSC Young Boys on 7 February 2010. Safari won the double with Basel in 2010 and the Swiss national championship again in 2011. He played 94 league games for Basel during his three-year contract.
On 30 May 2011, Behrang signed a contract for the Belgian club Anderlecht. He had his debut for Anderlecht on 29 July 2011 in the 2–1 away defeat against Oud-Heverlee Leuven. He played his first European game for the team in the Europa League qualifying away win against Bursaspor in the Bursa Atatürk Stadium on 18 August 2011. He won the league in his first season with Anderlecht.
Return to Basel
After Safari's return to Basel, he featured in their 2013-14 Champions League campaign. At the end of the 2013–14 Super League season Safari won his third league championship with Basel. They also reached the final of the 2013–14 Swiss Cup, but were beaten 2–0 by Zürichafter extra time. During the 2013–14 Champions League season Basel reached the group stage and finished the group in third position. Thus they qualified for Europa League knockout phase and here they advanced as far as the quarter-finals. The next season, Safari started for Basel as a left back where they made it to the knockout stages of the 2014–15 UEFA Champions League. He also won the 2014–15 Swiss Super League, his sixth consecutive league title and seventh overall. Safari and his Basel teammates attended a charity event in June 2015. He continued in the left back position the following season in the Champions League, Europa League and Swiss Super League. The season 2014–15 was a successful one for Safari and for his club Basel. The championship was won for the sixth time in a row that season and in the 2014–15 Swiss Cup they reached the final. But for the third season in a row, they finished as runners-up, losing 0–3 to FC Sion in the final. Basel entered the Champions League in the group stage and reached the knockout phase as on 9 December 2014 they managed a 1–1 draw at Anfield against Liverpool. But then Basel lost to Porto in the Round of 16. Basel played a total of 65 matches. Under trainer Paulo Sousa, Safari totaled 41 appearances, 24 League, 2 Cup, 7 Champions League, as well as 13 in test games. Safari scored 1 goal in these matches during a friendly game against FC Schaffhausen. Under trainer Urs Fischer Safari won the Swiss Super League championship at the end of the 2015–16 Super League season for the fifth time with Basel. For the club it was the seventh title in a row and their 19th championship title in total.
Return to Malmö FF
On 18 January2016 it was announced that Safari would return to Malmö FF when his contract with FC Basel expired at the end of the 2015–16 season. Safari signed a contract with Malmö that extends over the 2020 season and allows him to join the team halfway through the 2016 season. He scored a goal in the Allsvenskan on 11 April 2017 against GIF Sundsvall and was named vice-captain after Markus Rosenberg. He won his tenth league title after winning the 2017 Allsvenskan, making Zlatan Ibrahimović the only Swede with more league titles. Safari became a regular starter for MFF as they qualified for the 2018–19 UEFA Europa League on 30 August 2018.