Duchcov is located about southwest of Teplice and southwest of Ústí nad Labem. It lies in the Most Basin. The Loučeňský Stream flows through the town. The town is surrounded by several ponds and artificial lakes.
