Beroe Ivanov began his career in
Beroe and made his debut in the 2003-04 season. On 6 May 2010, Beroe won the
Bulgarian Cup, beating
Chernomorets Pomorie in the final. Ivanov played through the whole match. On 18 October 2009, he scored the only goal in a 1–0 away league win over
Levski Sofia.
Levski Sofia After playing seven seasons for Beroe, Ivanov signed a three-year deal with
Levski Sofia for a fee of around €100 000 on 8 June 2010. He made his unofficial debut for Levski in a pre-season friendly match against
Târgu Mureş on 30 June, entering the match as a substitute. Ivanov made his competitive debut for Levski in a match against
Dundalk - a second qualifying round for
Europa League. Levski won the first match and the result was 6–0. In
Europa League match against
Lille held on 4 November 2010, Levski was leading 2–1 until Ivo Ivanov scored an own goal shortly before the conclusion of the game to make it 2–2. On 17 April 2011, Ivanov scored the winning goal against
Cherno More Varna in an
A PFG match.
Return to Beroe On 31 July 2012, Ivanov re-joined
Beroe as part of a player exchange deal sending
Dimitar Vezalov to
Levski Sofia. After the departure of
Georgi Andonov from Beroe in August 2014, Ivanov was named as his replacement as club captain. On 20 January 2015, he signed a two-year contract extension, keeping him at Beroe until 2017. In May 2017, he left the club after his contract expired.
Vereya On 19 June 2017, Ivanov made the short trip across
Stara Zagora, signing with
Vereya. ==International==