Sông Công bắt nguồn từ Định Hoá, tỉnh Thái Nguyên, chảy theo hƣớng Đông Bắc - Tây Nam. Sau khi ra khỏi hồ Núi Cốc ở phía Tây thành phố Thái Nguyên đƣợc chia thành hai nhánh, nhánh chính chảy qua trung tâm thị xã Sông Công, qua huyện Phổ Yên để hội lƣu với sông Cầu từ bên phải tại ranh giới ba xã Thuận Thành (huyện Phổ Yên), Trung Giã (huyện Sóc Sơn, Hà Nội) và Hợp Thịnh (huyện Hiệp Hòa tỉnh Bắc Giang). Nhánh phụ nhỏ hơn chảy qua phía Bắc thị xã Sông Công, huyện Phú Bình rồi chảy vào huyện Phổ Yên để nối với sông Cầu tại ranh giới ba xã Tân Phú, Thuận Thành (huyện Phổ Yên), Đại Thành (huyện Hiệp Hòa).
Sông Công dài 96 km. Diện tích lƣu vực 951 km², độ cao trung bình 224 m, độ dốc trung bình 27,3%, mật độ sông suối 1,20 km/km². Tổng lƣợng nƣớc 0,794 km³ ứng với lƣu lƣợng trung bình năm 25 m³/s. Mùa lũ từ tháng 6 đến tháng 10 chiếm 74,7% lƣợng nƣớc cả năm; tháng 8 có lƣợng dòng chảy lớn nhất chiếm 19,30% lƣợng nƣớc cả năm; tháng cạn kiệt nhất chiếm 1,8 % lƣợng nƣớc cả năm.
Hồ Núi Cốc (xây dựng năm 1972) có mặt nƣớc rộng 25 km, chứa 1,75 triệu m3 nƣớc nhằm điều hoà dòng chảy và chủ động tƣới tiêu cho 12000 ha lúa. Hệ thống thuỷ lợi Núi Cốc là nguồn cung cấp nƣớc tƣới chính cho sản xuất nông nghiệp và nƣớc sinh hoạt cho thị xã Sông Công.
Trên địa bàn thị xã, hệ thống Sông Công có 7 suối lớn đổ vào: - Phía tây có 2 suối thuộc các xã Bá Xuyên và phƣờng Cải Đan.
- Phía đông có 5 suối thuộc các xã phƣờng: xã Bá Xuyên, phƣờng Lƣơng Châu, phƣờng Thắng Lợi và phƣờng Cải Đan.
Về nƣớc ngầm: Mực nƣớc ngầm thƣờng xuất hiện ở độ sâu từ 4-5 m. Trữ lƣợng nƣớc ngầm trên địa bàn thị xã khá lớn, chất lƣợng tốt có khả năng dùng cho sinh hoạt và sản xuất công nghiệp.