The top of the Tons river is in the Himalayan Crystalline complex. It then flows through Tethan Himalaya rocks before connecting to the Pabbar River in the Lesser Himalayan Sequence. The Tons flows into the Yamuna River after crossing into the Sub-Himalaya Sequence.