Elva har sine kilder helt øst i fjellkjedene Alaj og Transalaj, i grenseområdene mellom Kina, Kirgisistan og Tadsjikistan. Den renner derfra mot øst og passerer gjennom byen Kashgar (Kashi), som har sitt navn etter elva. Den fortsetter deretter ut i de nordvestlige deler av ørkenen Taklamakan, hvor den tidligere løp sammen med Yarkand-elva, men nå renner opp i sanden nordvest for dette.