Born in Levski, Pleven Province, Milanov began playing football at the local club, before joined the Litex Lovech Academy, together with his twin brother Iliya, in 2005.
He made his official debut on 18 August 2013, in the 1–0 home win over Kuban Krasnodar in a league match after coming on as a late substitute for Keisuke Honda.
[14] Although having had trouble fitting into the club at start, Milanov is improving at a fast rate according to head coach Leonid Slutsky, resulting in him becoming a regular starter plus in him receiving playing time in important European matches in the group stages of the 2013–14 UEFA Champions League.
He provided his first assist in a 4–1 home win over Terek Grozny; it was the opening goal of the match netted by teammate Seydou Doumbia.
[15] On 16 February 2016, CSKA Moscow announced that Milanov had joined Swiss Super League side Grasshopper Club Zürich on loan for the remainder of the season.
[20] Milanov made his debut for the team on 27 January 2024, in the 1-2 loss against Rapid București, when he came in as a substitute in the 78th minute to replace Dennis Politic.
[21] On 12 February 2024, he provided an assist for Darko Velkovski in the 2-0 away win against champions Farul Constanța[22] and he was selected as man of the match.
[23] Milanov was called up to the Bulgaria under-21 team for the first time in February 2010, making his competitive debut on 3 March, in a 0–2 loss against Montenegro U21.