The overland journey between Belgrade and Istanbul is made on-board the Balkan Express, a service shared with the Bosphorus Express between Dimitrovgrad and Istanbul.
The service offers both standard and first class seats, but also couchettes. The service is operated by Bulgarian Railways using relatively old, but nonetheless comfortable trains.
Passengers will need to have the appropriate visas for the border crossing between Turkey and Bulgaria.
From March 2012 until late 2013, a rail-replacement bus is in operation between Istanbul and Kapikule as a result of engineering work.
If you are travelling towards Istanbul, the train will terminate at Kapikule and you will be transferred to a bus (accepts rail tickets and passes). The bus will arrive at the same time as the train is scheduled to. Travelling towards Belgrade, the bus departs from outside Istanbul Sirkeci Station at the same time as the train is meant to leave, and travels as far as Kapikule where passengers can board the train as usual.
Seeing as the overnight portion of the journey is made on a coach, buying a seated ticket rather than couchette may be adequate.