It rises near the village Madfeld, part of the town Brilon, in eastern North Rhine-Westphalia near the border with Hesse.
From there it flows north between mountains up to 503 metres (1,650 ft) high through a forested landscape, partly in the natural park Diemelsee.
After a few kilometers it flows into the artificial lake Aabachstausee.
The source of the Aabach is at the divide between the Weser and Rhine river basins: the Aabach flows to the north and drains into the Rhine via the Afte, Alme and Lippe, while the small rivers that rise on the southern side of the ridge drain into the Weser through the Hoppecke and Diemel.
This article related to a river in North Rhine-Westphalia is a stub.