Sông Cầu bắt nguồn từ miền núi Chợ Đồn, Bắc Kạn chảy qua thị xã Bắc Kạn, thành phố Thái Nguyên, Bắc Ninh, thị trấn Đáp Cầu đến Phả Lại nhập với sông Thương, sông Lục Nam, sông Đuống ở Lục Đầu Giang thành sông Thái Bình, đổ ra biển Đông ở cửa Thái Bình.