Thành cổ Bắc Ninh, công trình kiến trúc nghệ thuật quân sự tiêu biểu của tỉnh Bắc Ninh, được xây dựng từ năm 1805 thời Vua Gia Long, triều Nguyễn, trên địa phận các làng Ðỗ Xá, huyện Võ Giàng, Hòa Ðình (Tiên Du) và làng Yên Xá, huyện Yên Phong (nay thuộc phường Vệ An, thành phố Bắc Ninh).
Gắn bó mật thiết với đời sống văn hóa của cư dân nơi đây, Thành Bắc Ninh từng đi vào câu ca Quan họ với niềm tự hào "Trong sáu tỉnh người đã chưa tỏ, ngoại năm thành chỉ có Bắc Ninh".
Trấn lỵ của trấn Bắc Ninh trước kia ở xã Đáp Cầu thuộc huyện Võ Giàng. Tháng 2 năm Giáp Tý (1804), vua Gia Long cho dời trấn lỵ cũ đến xã Lỗi Đình thuộc huyện Tiên Du.
Lúc đầu, thành Bắc Ninh chỉ được đắp bằng đất, cho tới năm Minh Mạng thứ 6 (1825), thành được xây lại bằng đá ong và cuối cùng xây lại bằng gạch vào thời Thiệu Trị (1841). Thành xây tại chỗ giáp giới của 3 xã thuộc 3 huyện là Đỗ Xá (huyện Võ Giàng), Khúc Toại (huyện Yên Phong) và Lỗi Đình (huyện Tiên Du).
Trước khi Pháp chiếm, tỉnh lỵ của Bắc Ninh mới chỉ là một dãy phố trải dọc theo con đường trạm đá khoảng 1500 m, chủ yếu là hơn 1500 người Hoa trú ngụ, còn quan lại và chính quyền đóng trong thành. Năm 1892, tám năm sau khi Pháp chiếm Bắc Ninh, nhà thờ lớn của Tòa giám mục dòng Dominicain được xây dựng ở Bắc Ninh, kiến trúc đẹp và hoành tráng vẫn còn giữ đến ngày nay.
Thành Bắc Ninh được xây dựng theo đồ án “hình sáu cạnh”. Theo hệ đo lường cổ Việt Nam, thì thành chu vi 532 trượng 3 thước 2 tấc. Tường gạch cao 9 thước. Xung quanh có hào rộng 4 trượng sâu 5 thước. Thành có 4 cửa mỗi cửa đều có cầu đi qua hào. Ở sáu góc thành đều có pháo đài nhô ra ngoài, theo kiểu dáng điển hình Vauban. Đây rõ ràng là một thành lớn sau thành Hà Nội, chứng tỏ sự quan tâm nhiều của triều Nguyễn đối với tầm quan trọng mọi mặt của đất Bắc Ninh.
Theo GS, TS Ðỗ Văn Ninh, tác giả cuốn sách "Thành cổ Việt Nam", Thành Bắc Ninh là thành cổ đầu tiên của Việt Nam được xây dựng theo đồ án hình lục giác. Về kiến trúc, Thành Bắc Ninh là một trong bốn tòa thành đẹp nhất vùng Bắc Kỳ thời bấy giờ. Thành có diện tích 545.000 m², tường cao 9 thước đắp bằng đất đá, sau thành bằng gạch đá, chu vi dài hơn 532 trượng, chung quanh có hào nước sâu bao bọc. Trong thành có sắp xếp các bộ phận gồm Doanh trấn thủ, Ðài bác vọng, kho thuốc súng, nhà Công đồng, Thời nhà Nguyễn, Thành Bắc Ninh là trung tâm bộ máy cai quản hành chính hai tỉnh Bắc Ninh - Thái Nguyên. Thời thuộc Pháp, xác định rõ vị trí, tầm quan trọng của tòa thành này, ngày 16/5/1925, toàn quyền Ðông Dương đã ký quyết định xếp hạng di tích Thành Bắc Ninh là công trình kiến trúc nghệ thuật tiêu biểu.
Ngày 16 tháng 12 năm 1883, quân Pháp đánh chiếm được thành Sơn Tây. Hai ngày sau (18 tháng 12) ở Paris, nghị viện Pháp đã phấn khởi gửi thêm 7.000 quân, cấp 17 triệu quan và còn cho vay thêm 3 triệu nữa, để hoàn thành gấp công cuộc thống trị và bảo hộ ở Việt Nam.
Giữa năm 1882 quân đội Mãn Thanh cũng tràn đến Bắc Ninh để tranh giành ảnh hưởng và lãnh thổ.
Giữa Pháp và Trung Hoa xảy ra việc điều đình, nên mặc dù vẫn gửi viện binh, nhưng chính phủ Pháp đã chỉ thị cho Tổng tư lệnh ở Bắc Kỳ là chỉ được đánh chiếm thêm Bắc Ninh và Hưng Hóa mà thôi, vì nếu đánh lên nữa sẽ đụng độ với quân Thanh, không có lợi cho việc nghị hòa trên.
Để phòng xa sự quá tận tâm và hăng hái của tướng Courbet, ngày 16 tháng Giêng năm Giáp Thân (1884), chính phủ Pháp cử Thống tướng Charles Millot sang thay, còn Thiếu tướng Courbet được thăng lên Trung tướng, lo coi quản hải quân để phòng giữ mặt biển. Cùng đi theo tướng Charles Millot là hai thiếu tướng Louis Brière de l'Isle và François de Négrier và ba sĩ quan cấp tá.
Ngày 12 tháng 2 năm 1884, tất cả viện binh từ quân cảng Toulon (Pháp) đã tới Bắc Kỳ. Nắm được hướng phòng thủ của quân đội triều đình và quân Mãn Thanh "... chủ yếu trên con đường từ Hà Nội đi Bắc Ninh chạy qua gần phủ Từ Sơn", Trung tướng Millot đã huy động một lực lượng 16.300 quân phiên chế thành hai lữ đoàn cơ động, những đơn vị đồn trú và trợ chiến. Một lữ đoàn ở bên hữu ngạn sông Hồng thì đóng ở Hà Nội, do thiếu tướng Brière de l'Isle chỉ huy; một lữ đoàn ở bên tả ngạn sông Hồng, thì đóng ở Hải Dương, do thiếu tướng De Négrier cai quản. Millot đã quyết định kế hoạch đánh chiếm Bắc Ninh như sau: Lữ đoàn I xuất phát từ Hà Nội, dựa vào hệ thống đồn lũy do Courbet xây dựng từ tháng 11 năm 1883; Lữ đoàn II xuất phát từ Hải Dương, nơi sẽ được Hải Phòng tiếp tế dễ dàng trong vòng 8 giờ bằng pháo hạm và thuyền.
Ngày 20 tháng 2 năm 1884, Pháp cho quân đánh lấy Phả Lại, nơi mà sông Cầu, sông Đuống và sông Lục Nam hội tụ nhau. Thấy phía Đông của mình bị uy hiếp, quân Thanh ở Bắc Ninh cố ra sức phản công liên tiếp trong hai tuần, nhưng vẫn không lấy lại được vị trí xung yếu này. Nhằm thực hiện triệt để chủ trương mà Courbet đã vạch ra "đánh chiếm Phả Lại chỉ là giai đoạn mở đầu cho các cuộc hành quân rộng lớn sau này", tướng Négrier đã dùng pháo thuyền thám thính sông Đuống, sông Thương tới ngã ba Phượng Nhỡn, sông Cầu tới sát chân núi Nham Biền.
Đầu tháng 3 năm 1884, sau khi giao việc phòng giữ và cai trị các tỉnh thành đã chiếm được cho đoàn khâm sai do Đoàn Văn Hội cầm đầu, tướng Charles Millot lại tiếp tục cuộc đánh chiếm, và mục tiêu lần này là thành Bắc Ninh. Phương án tác chiến đã được Millot duyệt y là: giải quyết hoàn toàn hệ thông bố phòng ở núi Và, núi Dạm và núi Rùa; phá vỡ tuyến phòng thủ Châu Cầu, Yên Định và Đạo Chân.
Thành Bắc Ninh là một căn cứ tập trung khá đông quân đội Việt và quân đội Thanh. Nhưng trước sự thất bại vừa rồi của thành Sơn Tây, Tổng đốc Bắc Ninh là Trương Quang Đản đã nao núng, nên ông đã cho rút quân ra khỏi thành về đóng ở huyện Tiên Du. Cho nên lúc bấy giờ ở ngoại vi thành chỉ có tướng nhà Thanh là Triệu Ốc trấn giữ, ở trong thành chỉ có Bố chính Nguyễn Tu, Án sát Nguyễn Ngọc Trân cùng 10.000 quân Thanh do Thống lĩnh Hoàng Quế Lan chỉ huy.
Còn bên quân Pháp có cả thảy 16.300 quân, 55 khẩu đại bác và 6 tàu chiến. Đặc biệt, là lần này có thêm một công cụ mới để điều tra quan sát trận địa đó là chiếc khí cầu...
Trận chiến đã kéo dài từ 7 đến 12/3/1884. Kết thúc trận đánh chiếm, theo Thomazi (1934) thì con số thiệt hại của đôi bên như sau: Bên quân Thanh: 100 chết và 400 bị thương. Bên quân Pháp: 9 chết và 39 bị thương.
Nhưng theo Trần Trọng Kim, thì quân Pháp có 8 người chết và 40 bị thương. Phạm Văn Sơn, trong Việt sử tân biên, ghi tương tự, nhưng còn cho biết thêm là trên đường tháo chạy về Thái Nguyên (vì Pháp đã cho chặn đường về Lạng Sơn), quân Thanh đã bỏ lại nhiều súng ống, đạn dược và hàng trăm khẩu đại bác.
Cho đến nay ngôi Thành này vẫn chưa hề được tu bổ, tôn tạo, ngược lại còn bị chiến tranh, mưa tuôn nắng dội, sự xâm lấn của con người đã làm cho di tích bị xuống cấp nghiêm trọng. Dấu tích còn lại của Thành cổ Bắc Ninh là ba cổng thành, một phần bờ thành và dãy hào sâu, hai khẩu súng thần công, trong đó nổi bật là cổng tiền với đài gác vọng, cột cờ cao gần 20 m.
Thành Bắc Ninh trên bản đồ trực tuyến
Cổng thành thành Bắc Ninh năm 1884, sau khi quân Pháp tràn vào.
Cột cờ và kho vũ khí trong thành Bắc Ninh
Hào nước bên ngoài pháo đài vẫn còn nguyên đến nay
Cổng Bắc thành Bắc Ninh ngày nay
Một đoạn chiến lũy và các tháp canh do quân Cờ đen dựng lên để chống lại quân Pháp năm 1884
Một đoạn tường thành sau khi bị quân Pháp pháo kích
Vũ khí của quân Cờ đen bỏ lại pháo đài sau khi rút lui về Hưng Hóa bị quân Pháp thu giữ
Quân Pháp đang ngắm con voi của Tổng đốc Bắc Ninh Trương Quang Đản
Một đoạn phố Bắc Ninh bên ngoài pháo đài, năm 1884
Tòa giám mục Bắc Ninh được Pháp xây dựng sau khi chiếm được Bắc Ninh, đến nay vẫn là công trình kiến trúc nổi bật của thành phố này.