The source is located in the Rothaargebirge mountains. From here the river runs southwestwards to the city of Siegen and the hills of Siegerland, both named after the river. Further west the Sieg valley forms the boundary of the Bergisches Land (northern) and Westerwald (southern). The river finally runs through a protected area east of the city of Bonn.
After passing the cities of Hennef and Siegburg it joins the Rhine near Niederkassel/Mondorf just a few kilometres north of the centre of Bonn.