The Gruža originates in the central part of the Rudnik mountain, right under the mountain's main settlement, the village of Rudnik, northeast of the town of Gornji Milanovac, central Serbia. The river flows south next to the village of Majdan, around the Rudnik mountain into the Takovo region and at the village of Nevade, just few kilometers away from Gornji Milanovac, makes a sharp turn to the east.
After the villages of Vraćevšnica and Ljuljaci, the Gruža turns south into the Gruža region, a direction it will generally follow for the rest of its course. After the villages of Oplanić and Dragušnica, the river enters the depression of Gruža, a main part of its valley, situated between the mountains of Kotlenik (on the west) and Gledićke planine (on the east). Near the Gruža village, the river is dammed, creating artificial Gruža lake, with a bridge over the middle of the reservoir.
The Gruža receives the left tributary of Kotlenjača and continues to the south next to the villages of Balosave, Guberevac, Itkovac, Milavčić and Vitanovac, before it enters the West Pomoravlje region and empties into the Zapadna Morava near the village of Čukojevac.