Kargopolsky District subordinated to the central administration of Northern Krai. In 1936, the krai was transformed into Northern Oblast. In 1937, Northern Oblast itself was split into Arkhangelsk Oblast and Vologda Oblast. Kargopolsky District remained in Arkhangelsk Oblast ever since. The district is almost exclusively located in the basin of the Onega River, which is the biggest river in the district, and belongs to the basin of the White Sea. The source of the Onega is Lake Lacha, which is the biggest lake in the district. The northeastern shore of Lake Vozhe, also in the basin of the Onega, belongs to Kargopolsky
Lake Onega area containing the Kondopozhskaya (, depth up to ), Ilem-Gorskaya (), Lizhemskoy () and Unitskoy () bays. To the southwest of Greater Onega lies Petrozavodskoye Onego () containing the large Petrozavodsk and small Yalguba and Pinguba bays. To the east of Zaonezhye there is a bay, northern part of which is called Povenetsky Bay and the southern part is Zaonezhsky Bay. There, deep sections alternate with banks and islands which split the bay into several parts. The southernmost part of them, Lesser Onega, is deep. All the shores there are rocky. The average depth of the lake is , and