Mlava originates as the Tisnica, from the Kučaj mountains in eastern Serbia, under the Veliki Krš peak. It flows to the north and curves around the eastern slopes of the mountain Beljanica, through an almost uninhabited area. Reaching the Homolje region, the Tisnica receives from the right a very powerful outflow of the karst well of Žagubičko vrelo (Žagubica well), at an altitude of 320 meters, and from that point the river is known as the Mlava. Measured from the Žagubičko vrelo, the river is 118 km long.
Upper course (Homolje region)
Originally, the Mlava flows to the northwest, but soon turns to the north, which is the general direction it follows for the rest of its course. It flows next to the Žagubica, the main center of Homolje valley, and the villages of Izvarica (where it receives from the right the Jošanička reka), Ribare, Sige and Ladne Vode.
In this section, the Mlava carved a long gorge, Gornjčako-ribarska klisura (Cyrillic: Горњачко-рибарска клисура; The gorge of Gornjak-Ribare), which begins at the Ribare, than it widens into the Krepoljin widening (where the large village of Krepoljin is located), and narrows again. Breaking through the ending part of the gorge at the village of Ždrelo, near the monastery of Gornjak, the Mlava leaves the Homolje for the Mlava region.
Middle course (Mlava region)
In this section, the Mlava valley widens, as the river flows next to the villages of Šetonje, Malo Laole, Veliko Laole, and reaches the town of Petrovac na Mlavi, the center of the whole Mlava region. It continues to the north, passes through the villages of Kamenovo, Trnovče and Rašanac and enters the hilly region of Stig.
Lower course (Stig region)
In the lower part of the Mlava is divided into many parallel flows and causes frequent floods, and although many settlements are located near the river, none is on its shore. The villages near the Mlava are: Veliko Selo, Toponica, Kalište, Malo Crniće, Veliko Crniće, Salakovac, Trnjane, Nabrde, Bubushinac and Bradarac. In this part, in Mlava, its two largest tributaries are on the left side of the Chokordin and Vitovnica on the right. One Mlava trough runs for several kilometres near Pozarevac, where the river bed is 20–35 m wide and 1–3 m deep. Another trough, known as Mogila, is 10–15 m wide and 0.5–1 m deep.
The last two settlements on the Mlace are the village Drmno and the town Kostolac. In both places there are coal and are located in the center of Kostolac basin. Mlava does not affect the main drainage of Danube, but in Topla Mlava at a height of 65 meters, which is created by a brush from which the hot water from the lake (TE KOSTOLAC B canal) is released. In the rainy years, Wild Mlava spreads over 100 m while the normal width of that part of Mlava near Bradarac and Drmno is only 30–45 m, and the normal depth is about 1.5–3 m. Some geographers call this Wild Mlava system, while Warm Mlava is considered as the final part of the Mlava stream, until Mlava turns its old trough "Cold Mlava" (Donja Mogila), east of Kostolac.
Warm Mlava
Warm Mlava (Topla Mlava) is a canal that connects Mlava (Wild Mlava) with the Danube east of the village of Selo Kostolac and west of the Kostolac B TPP. Its length is 4.3 km from the brush to the mouth, and from the yellow bridge (Viminacijum Bridge) to the intersection of 6.1 km. Its characteristics are warm water that comes out of the brush because of which there are plenty of fish and its biggest resident is pike and carp. The width is about 2 to 5 normal Mlava basins (70–175 m) and the depth is up to 4 m.