On 8 June 2015, Vasilev made his senior international debut for Bulgaria in a 4–0 friendly loss against Turkey.
On 12 December 2007, Vasilev joined Reading for an undisclosed fee, after a successful trial period with the club.
Vasilev was released from Reading at the beginning of May 2010, alongside midfielders Mitchell Bryant and Oliver Bozanic.
[12] In March 2015, Vasilev was called up to the Bulgarian national side for a Euro 2016 qualifier against Italy,[13] but did not debut.
He earned his first cap on 8 June 2015, after coming on as a substitute for Iliyan Mitsanski during the second half of the 0–4 loss against Turkey.
[14] He scored his first international goal on 9 September 2018, after coming on as a substitute against Norway in the UEFA Nations League.