Youth career Born in
Sofia, Popov started to play football in
Septemvri Sofia's academy. Then he played for the youth formations of
Levski Sofia from 1999 to 2004. In 2005, he trained for four months with
Feyenoord but did not sign with the team because he was not 18 years old. After that, he returned to Bulgaria and played in a tournament for Beroe's youth team and there he was spotted by the
Litex Lovech scouts. On 14 July 2005, he even scored a goal for
Beroe in a friendly game.
Litex Lovech Popov signed his first professional contract with
Litex Lovech in December 2005. He made his European debut in the first leg of Round of 32 Stage in a 0–0 draw against
Strasbourg; he made his official debut in the
Bulgarian top division in a match against
CSKA Sofia on 12 March 2006. He played 59 minutes. The result of the match was a 1–1 draw. On 9 April 2006, he scored his first goal in professional football against
Lokomotiv Sofia. The result of the match was a 3–1 win for Litex. The same season, Popov played in 11 matches and scored five goals. In two consecutive seasons, Popov was third placed in the voting for
Young player of the year award in 2005–06 and 2006–07 seasons. In the
2007–08 UEFA Cup, Popov scored a brace, in a first leg of second round, in a 3–0 win over
Besa Kavajë. Eventually, Litex Lovech advanced to the next round, losing to
Hamburger SV in two's leg. On 18 September 2008, Popov scored a goal in the first round of the
UEFA Cup against
Aston Villa. In July 2009, Popov was given the captain's armband. At the end of the season, Popov was awarded A League's player of the season after having the most votes in the poll. In August 2010, he went on trial to
Premier League club
Blackburn Rovers. He impressed the club, whereafter he received a contract offer, but the move collapsed over his work permit rejected by the British Government, having not played enough international matches.
Gaziantepspor Kuban Krasnodar On 25 August 2012, Popov joined
Russian Premier League club
Kuban Krasnodar on a three-year contract for an undisclosed fee. According to Chempionat.com, the fee was worth €2 million. He made his debut for the club, coming on as a substitute for
Marcos Pizzelli, in a 2–1 win over
Dynamo Moscow on 2 September 2012. On 26 October 2012, Popov scored his first goal for the club in a 1–0 win over
Rostov. Less than a month later he scored his first brace, putting two goals past
Krylia Sovetov and contributing with an assist in a 4–1 home victory. On 13 April 2013, Popov scored a late equalizer in a 2–2 draw away from home to
Terek Grozny. On 4 May, he scored a brace as Kuban beat Rostov 2–0 away from home on. On the last day of the
2012–13 season, Popov scored the only goal in a vital 1–0 home victory over
Anzhi Makhachkala, securing Kuban a European debut in the Third Qualifying Round of the
2013–14 UEFA Europa League and earning them their best ever finish in the top flight at fifth, having the same points as fourth-placed
Spartak Moscow. He finished the season with 9 goals as the club's top goalscorer together with
Aras Özbiliz. Because of his outstanding performance in the 2012–13 season, Popov was appointed captain of Kuban Krasnodar for the
2013–14 season. He captained his team to its first away victory of the season over Russian Premier League newcomer,
Tom Tomsk, by contributing with a pair of assists. The match ended with a 2–1 score. His first brace came shortly after, in a historical first ever match in a European championship for Kuban. He netted two goals in a 2–0 away victory over
Scottish Premier League runners-up
Motherwell in the
first leg of a qualifying match for the
UEFA Europa League. Both goals were assisted by teammate
Ibrahima Baldé. This resulted in his jersey being displayed in the National football museum. On 28 April 2014, Ivelin Popov scored an away brace against strong
Spartak Moscow in a 2–0 victory. This outstanding performance got him voted as player of week 27 in the
Russian Premier League. He continued his good run the week after, which saw him providing two assists, marking a 4–0 victory over
Krylia Sovetov. The first assist was turned into a goal, scored by fellow Bulgarian teammate
Stanislav Manolev, marking his first goal for the club after recently being transferred from
PSV Eindhoven. Popov was named
man of the match for the second time in a row, earning him a spot in Russian premier league team of the week. He finished his season in Russia having provided 12 assists; making him the joint top assists provider of the season, alongside
Danny from
Zenit St. Petersburg. He was also included in the team of the season 2013–14, because of his consistency throughout the whole campaign.
Spartak Moscow On 3 June 2015, it was announced that Popov had signed a long-term contract with
Spartak Moscow. It was reported that the signing fee cost the club about €7 million. He scored for the third consecutive game on 3 October, netting the only goal in a 1–0 win away to
Mordovia Saransk. On 30 April 2017, he provided two assists in a 2–1 away victory over city rivals,
CSKA Moscow, which earned him a spot in the Russian Premier League team of the week for matchday 26. On 8 January 2019, he was released from his Spartak contract by mutual consent.
Rubin Kazan On 12 January 2018, he joined
FC Rubin Kazan on loan until the end of the 2017–18 season. He scored on his debut for the club, in a 1–1 away draw against
Anzhi on 2 March 2018. On 7 April 2018, he scored a brace in a 3–2 home win against
Akhmat, which saw him being named
Man of the Match for the second match in a row.
Rostov On 24 January 2019, he signed a 2.5-year contract with Russian club
FC Rostov.
Sochi On 23 August 2020, he moved to another Russian club
PFC Sochi in exchange for
Dmitry Poloz moving the other way.
Levski Sofia On 28 April 2022, Popov signed a two-year contract with
Levski Sofia beginning from the 2022–23 season, thus returning to his home country after 12 years.
Botev Plovdiv On 15 August 2023, Popov moved to
Botev Plovdiv from
Levski Sofia after terminating his contract, thus joining as a free agent. ==International career==