The flag of Belgrade is composed of three Serbian national colours: red, blue and white. The blue symbolises hope and faith in better future. The red of the ground is a symbol of the suffering of Serbian people in a struggle for freedom. Two horizontal white lines represent the Sava and Danube rivers, which are symbols of the strength of Belgrade. They are white according to heraldry rules. "Beograd" is Serbian name for "white city," so there are white walls and towers. The walls represent a merchant city; the towers and open gate represent an open market. The ship, a Roman trireme, is a symbol of the antiquity of the city. The flag is a banner of the arms of Belgrade.
Source: Wikipedia