Cầu Hiền Lương và sông Bến Hải nằm trong cụm di tích đôi bờ Hiền Lương ở điểm giao nhau giữa đường Quốc lộ 1A và sông Bến Hải; phía Bắc thuộc thôn Hiền Lương, xã Vĩnh Thành, huyện Vĩnh Linh; phía Nam thuộc thôn Xuân Hòa, xã Trung Hải, huyện Do Linh, tỉnh Quảng Trị. Đây là hai “nhân chứng lịch sử” mang trên mình nỗi đau chia cắt đất nước thành hai miền Nam Bắc suốt hơn 20 năm ròng rã.

Sông Bến Hải bắt nguồn từ núi Động Chân thuộc dãy Trường Sơn và chảy dọc theo vĩ tuyến 17 từ Tây sang Đông rồi đổ ra cửa Biển Cửa Tùng. Sông Bến Hải có tổng chiều dài gần 100km, nơi rộng nhất khoảng 200m, nơi hẹp nhất khoảng 20 -30m, là ranh giới giữa hai huyện Vĩnh Linh và Gio Linh của tỉnh Quảng Trị.


Sông Bến Hải lúc đầu có tên Minh Lương. Vào thời vua Minh Mạng do trùng với chữ “Minh” phạm phải kiêng húy tên của Vua (chữ “Húy” đồng ngĩa với “Kỵ” tức là kiêng kỵ). Do vậy tên làng, tên sông đều đổi thành Hiền Lương. Sông Bến Hải cũng còn được gọi là sông “Bến Hói”, tiếng địa phương “hói” có nghĩa là dòng sông nhỏ, từ Bến Hói đọc lệch ra là Bến Hải.


Cầu Hiền Lương được xây dựng năm 1928 do Phủ Vĩnh Linh huy động nhân dân trong vùng đóng góp công sức. Hồi ấy, cầu được làm bằng gỗ, đóng cọc sắt, rộng 2m, chỉ đủ cho người đi bộ. Năm 1931, cầu được người Pháp cho sửa chữa lại rộng hơn, nhưng xe cộ muốn qua sông vẫn phải đi bằng phà. Năm 1943, cầu được nâng cấp, lúc này xe cơ giới loại nhỏ có thể qua lại được. Năm 1950, Pháp cho xây cầu Hiền Lương bằng bê tông cốt thép, dài 162m, rộng 3,6m, trọng tải 10 tấn. Hai năm sau, cầu bị quân ta đánh sập để ngăn chặn sự đánh phá của địch ra miền Bắc.


Tháng 5-1952, Pháp làm lại chiếc cầu mới nối liền hai bờ sông Bến Hải giữa huyện Vĩnh Linh và Gio Linh. Cầu có 7 nhịp, dài 178m, trụ bằng bê tông cốt thép, dầm bằng thép, mặt lát bằng gỗ thông, rộng 4m, hai bên có thành chắn cao 1,2m, tải trọng 18 tấn.