Nằm ở khu vực phía Bắc của tỉnh Quảng Bình, Ba Đồn tiếp giáp với cụm công nghiệp huyện Quảng Trạch; phía Tây giáp huyện Quảng Trạch và huyện Tuyên Hóa, có trục đường Quốc lộ 12A đi qua kết nối Cửa khẩu quốc tế Cha Lo, phía Nam giáp huyện Bố Trạch và phía Đông giáp biển Đông.