It is widely considered the major crosstown derby in the Persian Gulf Pro League, and also in the world. This match was declared as the most important derby in Asia and 22nd most important derby in the world in June 2008 by World Soccer magazine.[1][2][3] It is considered as one of the world's most intense derbies.[4] Despite being a derby between two teams from Tehran, the match has been played in other Iranian cities as well. Taking place at least twice during the year via the league fixtures, this cross-town rivalry has extended to the Hazfi Cup, as well as in minor tournaments and friendlies. The highest scoring match between the two teams to this date, was the famous 8–0 victory for Esteghlal in friendly match in the 1968 derby which is always remembered and referred to by red fans. The most consecutive number of games that was won by one of the two teams belongs to Esteghlal, who won four matches in a row against Persepolis in the Persian Gulf Pro League and the Hazfi Cup during 2010 to 2012.

The first derby match between the teams took place on April 5, 1968, at Amjadieh Stadium, where the game finished as a scoreless draw. At the time, Esteghlal was known as Taj SC. Both clubs were relatively young but Persepolis had a solid fan base, because of its close association to the once popular Shahin club. The rivalry between Shahin and Taj was transferred to its current stage when the Shahin club had to cease operations due to poor relations with the IFF.

Over time, the rivalry became more heated and club fans began attaining collective identities. By the mid-1970s Persepolis was seen as a working class club, while Taj was viewed as a club close to the ruling establishment and supported by the upper class of Iranian society. Persepolis fans outnumbered Esteghlal fans by large numbers at the time. But according to IFF today Esteghlal has more supporters across the country and globe than Perspolis.

Because of the sensitive nature of the matches, fan violence has occurred several times. In minor cases fans break chairs or throw garbage at the field, but more notable cases of violence have involved physical fights between opposing teams and fans, storming of the field by fans, as well as significant destruction of public property.

Ever since 1995, federation officials have invited foreign referees to officiate the game to ease fan and player suspicions of referee bias. This occurred after the events of the 38th derby (see below).

Hassan Rowshan from Esteghlal F.C., at the age of 18 years and 357 days is yet the youngest player ever who has scored a goal in Tehran derby. He scored the 1–0 winning goal against Persepolis F.C. on May 25, 1974. Ali Alipour, at the age of 19 years and 185 days, became the youngest Persepolis F.C. player ever to score in Tehran derby. He scored the only goal in their 1–0 victory on May 15, 2015.

Persepolis 0 – Taj 3 (February 6, 1970) – The game score was 1-0 in favor of Taj until the 82nd minute when the Persepolis players left the field to protest against the match officials. The football federation later declared Taj the winner by a score of 3-0.

Persepolis 0 – Taj 3 (January 17, 1971) – The game was tied 1-1 until the 75th minute when the Persepolis players left the field to protest against the match officials after several decisions went Esteghlal's way. The football federation later declared Taj the winner by a score of 3-0. This was the second time this occurred in two years.

Persepolis 4 – Taj 1 (February 4, 1972) – This was the first time Persepolis won the derby match. Mahmoud Khordbin and Safar Iranpak both scored one goal each and Hossein Kalani bagged the other two goals for a decisive 4-1 win.

Persepolis 6 – Taj 0 (September 6, 1973) – This is the best win ever in the history of Tehran derby known as "Shishtayiha" Match in Iran (The game in which 6 goals are scored). Hossein Kalani scored one Iraj Soleimani scored two and Homayoun Behzadi bagged the other three goals for an unanswerable 6-0 win.

Esteghlal 1 – Persepolis 0 (October 7, 1983) – Iranian television broadcaster IRIB did not air the match so a large number of fans flocked to Azadi Stadium. An estimated 128,000 entered the 100,000-capacity stadium. So many fans were in attendance that some were forced to climb the metal base of the stadium floodlights. None of the derby matches to this date have had a higher attendance and mostly likely never will as the 2002 renovations of the stadium reduced its capacity.

Esteghlal 0 – Persepolis 0 (March 1989) – This is one of few times the two clubs have met each other in the Hazfi Cup. The match finished scoreless in regulation time, and extra-time was eventless. Persepolis beat Esteghlal 4-2 in penalty shootouts to advance to the next stage in the Hazfi Cup.

Esteghlal 3 – Persepolis 0 (January 20, 1995) – In the 38th derby Persepolis was leading in the match by a score of 2-0 until the last 10 minutes of the match. Esteghlal scored 2 goals in quick succession, including one which was a penalty. This angered the Persepolis fans and players who felt the referee was biased towards Esteghlal. Persepolis fans stormed the field, and many fights broke out on the pitch between fans and players. After this match it was decided that Iranian referees will no longer be used for the derby.

Persepolis 2 – Esteghlal 2 (December 29, 2000) – One of the most exciting and heated matches in derby history.[citation needed] The game was extremely sensitive as Mehdi Hasheminasab had left Persepolis in the off-season for Esteghlal. Behrouz Rahbarifar opened up the scoring in minute 56, while Mohammad Navazi tied the game up at the 67th minute. Many thought the game would be over when Hasheminasab scored a late goal at minute 86, but Ali Karimi saved Persepolis scoring a goal at minute 89 to please the red fans. During the game Esteghlal's goalkeeper Parviz Broumand and Persepolis striker Payan Rafat were constantly insulting each other. This eventually led to Broumand punching Rafat in the face and giving him a black eye. A massive fight broke out between the players. After the match hooligans went on a rampage. They completely destroyed 250 city buses and damaged many shops. Three players from each side were arrested along with 60 fans for their behavior.

Esteghlal 3 – Persepolis 2 (February 25, 2005) – Another one of the most thrilling matches in derby history.[citation needed] After a scoreless draw at halftime Esteghlal opened the scoreline 68 minutes with a goal from Reza Enayati. Persepolis responded by two goals Sheys Rezaei in the 74th minute and another by Sohrab Entezari in the 77th minute. Persepolis players and fans believed they have earned the win and Esteghlal fans begin to leave the stadium. Shortly after the goal by Entezari, Mahmoud Fekri scored an equalizer just 6 minutes later. Esteghlal soon put everything they have into the attack and in the 93rd minute it paid off with a header by Pirouz Ghorbani hitting the back of the Persepolis net.

Persepolis 2 – Esteghlal 1 (November 3, 2006) – One of the most important derby matches for the two teams. Both teams' chances of winning the league were very unlikely so the two desperately wanted to win so one would finish above the other. Amir Hossein Sadeghi broke the deadlock with a header in the 16th minute to make it 1-0 to Esteghlal. Six minutes later, Esteghlal goalkeeper Mehdi Rahmati charged out of his goal to clear the ball for a corner to Persepolis. However, he lost his concentration and took a long time to return to his net resulting in Mehrzad Madanchi curling one in for Persepolis from the corner of the pitch and making the score 1-1 at half-time. The match was very open in the second half and finally in the 71st minute, Mehrdad Oladi broke through and chipped Mehdi Rahmati to win the game for Persepolis 2-1. Later on that season, Persepolis finished 3rd in the league, one place above Esteghlal who finished 4th.

Esteghlal 1 – Persepolis 1 (February 13, 2009) – Going into this derby the four previous meetings between the rivals had ended in 1-1 draws. However all the speculations regarding possible match-fixing started after this game. Esteghlal was winning the game when substitute Ali Alizadeh late into stoppage time and what did look deliberately played a handball and gifted away a penalty-kick. Maziar Zare scored the equalizer and the game finished in yet another 1-1 draw. From this match after using international referees for 14 years, the Iranian federation decided to use Iranian referees in Tehran derbies again.

Persepolis 2 – Esteghlal 1 (February 3, 2010) – Before this derby, six straight derby games between the two had finished 1-1. Many fans[who?] were claiming that the matches had been fixed to avoid having a losing team. Both teams had the same owner, a fact that obviously added fuel to the fire. Prior to this game, the two teams had a several year-long tradition of eating dinner together on the evening before the games, a tradition which did not take place ahead of this very tense game. Much to many fans' expectations this game was also about to end in a 1-1 draw before Karim Bagheri scored a screamer from 35 yards late in the game to win the match 2-1 for Persepolis.

Esteghlal 1 – Persepolis 0 (October 15, 2010) – The match was tied late in the game when Esteghlal got a counterattack and captain Farhad Majidi scored the winning goal in the 91st minute.

Esteghlal 3 – Persepolis 0 (December 9, 2011) – The first meeting of the two teams in the Hazfi Cup in over a decade, the match was tied 0-0 at the end of regulation time leading to overtime. In over time Esteghlal dominated the game scoring three goals claiming their 24th win in the Derby and their fourth consecutive competitive win for Esteghlal over their city rivals. This derby was the largest goal margin in 14 years and the largest Esteghlal win in over 30 years.

Esteghlal 2 – Persepolis 3 (February 2, 2012) – After losing four times in a row, Persepolis and its fans were desperate for a win over their blue rivals. Head coach Mustafa Denizli had returned to the reds for the second half of the season and had previously experienced victory over Esteghlal back in 2006. Persepolis found themselves 2-0 down yet again and had Mehrdad Oladi very harshly sent off for what was seen as just a foul. Mazloumi and blues fans were beginning celebrations of yet another victory over their rivals as Persepolis fans began to leave the stadium when suddenly newly signed forward Eamon Zayed bagged a goal back for the reds in the 82nd minute. Persepolis were lifted by this goal and Zayed immediately connected with Mehdi Mahdavikia's excellent cross a minute later and levelled the score to 2-2 with a fine header. The last five minutes of the game was very open with Persepolis looking more lively and in the 92nd minute of the match, Hossein Badamaki's cross found Zayed yet again and the Libyan striker turned his defender and finished brilliantly to round off a historic hat-trick and great win for Persepolis and its fans.

Persepolis 4 – Esteghlal 2 (April 15, 2016) – This derby was highly anticipated and vital for both teams as they were competing for the top spot in the Iran Pro League table. Persepolis came into this match with an excellent form and were regarded as favourites to win; however, Esteghlal was in 2nd place above their archrival on goal difference. In a highly entertaining and end-to-end game, the red-clad Persepolis netted twice in each half to beat the blue-shirted Esteghlal 4-2 in their 82nd derby in Tehran on a rainy Friday and be the new Iran Pro League table-topper in the 26th week. The league's top scorer Mehdi Taremi (2), Ramin Rezaeian, Mohsen Mosalman scored for the reds; Jaber Ansari, Omid Ebrahimi (penalty) scored for the blues. After Red's captain Hadi Norouzi had died earlier in the season due to a heart attack in his sleep, Persepolis players and fans labelled the scoreline in reference to Norouzi's shirt number of 24.

Esteghlal 3 – Persepolis 2 (February 2, 2017) – After five years of unbeaten derbies, Persepolis lost in a dramatic match. Persepolis had conceded only five goals in 20 previous league matches but in this game, Esteghlal scored three goals in the first half and shocked the Persepolis players and fans. The struggling match finished with a 3-2 result after several quarrels in which Mehdi Rahmati (Esteghlal goalkeeper) has been sent off by the referee.

As of 12 February 2017, there have been 78 competitive first-class meetings between the two teams since the first league meeting in 1969. In all 84 competitive and non-competitive meetings since 1968, Esteghlal has won 25 and Persepolis 20.

Over the years, a number of players have played for both of the heavily supported clubs. Switching sides often angers fans, and players who have done so are heavily booed and mocked in and out of the stadium. When Mehdi Hasheminasab joined Esteghlal, Persepolis fans booed and swore at him so loudly that he covered his face with his hands to hide his tears.