Mật độ sông suối của Lạng Sơn thuộc loại trung bình đến khá dày, qua địa phận có các sông chính là:
- Sông Kỳ Cùng. Bắt nguồn từ vùng núi Bắc Xa cao 1166 m thuộc huyện Đình Lập, chảy về lưu vực sông Tây Giang Trung Quốc. Độ dài : 243 km, diện tích lưu vực : 6660 km2.
- Sông Ba Thín: Sông Ba thín bắt nguồn từ vùng núi cao thuộc Quảng Tây (Trung Quốc ) đổ vào bờ phải sông Kỳ Cùng ở xã Khuất Xá huyện Lộc Bình.Độ dài : 52 km, diện tích lưu vực : 320 km2.
- Sông Bắc Giang: Độ dài : 114 km, diện tích lưu vực : 2670 km2
- Sông Bắc Khê: Độ dài : 54 km, diện tích lưu vực : 801 km2
- Sông Thương : Là sông lớn thứ hai của Lạng Sơn, bắt nguốn từ dãy núi Na Pa Phước ( huyện Chi Lăng ) chảy trong máng trũng Mai Sao - Chi Lăng và trên địa phận tỉnh Bắc Giang. Độ dài : 157 km, diện tích lưu vực : 6640 km2.
- Sông Hoá: Độ dài : 47 km, diện tích lưu vực : 385 km2.
- Sông Trung: Độ dài : 65 km,diện tích lưu vực : 1270 km2