Операция предварительно была согласована с командующим Народно-освободительной армии Югославии Иосипом Броз Тито, который непосредственно перед началом манёвров встретился со Сталиным. В это же время была достигнута договорённость об участии в операции болгарских войск.
Со стороны Югославии в операции участвовало до 400 тысяч человек. СССР выставил до 190 тысяч личного состава.
В обороне немецкие войска насчитывали около 400 тысяч человек. Кроме того, немцам помогали подразделения венгерской армии в количестве до 30 тысяч солдат и порядка 150 тысяч хорватов. На стороне обороняющихся также выступил Русский белогвардейский охранный корпус в Сербии (около 6 тысяч человек), мусульманская милиция в Боснии и Герцеговине (4 тысячи человек) и 17 тысяч сербов.
28 сентября наступление из района Видина в общем направлении на Белград начали войска 57-й армии, которые при содействии Дунайской военной флотилии во взаимодействии с югославами прорвали приграничную оборону противника и с тяжёлыми боями преодолели Восточно-Сербские горы.
Быстрое наступление советских танков рассекло немецкие войска в Сербии на две армейские группы. Первая находилась южнее Белграда и уже не смогла помочь гарнизону столицы, вторую группу блокировали югославские части.
Уже к 14 октября советские войска достигли предместий Белграда, к 20 числу освобождение города завершилось.
В результате Белградской операции была разгромлена армейская группа немцев «Сербия», фронт группы армий «Ф» был отодвинут к северу более чем на 200 километров. Это открывало дорогу для наступления на Будапешт.
Германские части отступали через горные проходы, контролируемые югославскими партизанами, нанёсшими отступающим большие потери. Большую часть техники, боеприпасов, продовольствия немецким войскам пришлось бросить. Всё это не позволило остаткам нацистов поддержать оборону Венгрии.
Советские же части в скором времени влились в группу армий, наступающих на Будапешт.