Kế hoạch tạo địa cọc ở cửa sông Bạch Đằng
Sau khi nhận lời cầu cứu từ Kiều Công Tiễn, vua Nam Hán là Lưu Cung nhận thấy đây là cơ hội tốt để xâm chiếm nước ta lần nữa và cũng để trả thù cho lần thất bại mấy năm trước. Y bèn sai con trai là Hoằng Tháo (trao tước là Giao Vương) đem quân sang hòng cướp nước ta. Vua Hán đóng quân ở Hải Môn sẵn sàng tiếp ứng cho con trai khi cần.
Về phía Ngô Quyền, sau khi trừ khử Kiều Công Tiễn, nghe tin đại quân của Hoằng Tháo sắp tấn công bằng đường thủy, ông bèn họp bàn các tướng lĩnh để bày mưu phá giặc.
Là người thông minh lại nắm rõ quy luật lên xuống của thủy triều trên sông Bạch Đằng, Ngô Quyền nhận định: “Hoằng Tháo là đứa trẻ từ xa đến, quân lính mệt mỏi, lại nghe Kiều Công Tiễn đã chết, không có người làm nội ứng nên mất vía trước rồi. Quân ta sức còn mạnh, địch với quân mỏi mệt tất phá được".
Sông Bạch Đằng là cửa ngõ giao thông quan trọng phía đông bắc từ biển Đông vào đất Việt. Theo cửa Nam Triệu vào Bạch Đằng, địch có thể ngược lên và tiến đến thành Cổ Loa hoặc thành Đại La hoàn toàn bằng đường sông.
Trong khi đó, thủy triều lên từ nửa đêm về sáng, cửa biển rộng mênh mông, nước trải rộng ra hai bên bờ đến hơn 2 km. Đến gần trưa, triều rút mạnh, chảy ra rất nhanh. Như vậy, kế hoạch và việc lựa chọn chiến trường cho trận huyết chiến đã được quyết định là sông Bạch Đằng. Trận đánh chính sẽ diễn ra ở phía trong bãi cọc.
Bấy giờ vào cuối năm 938, trời rét, mưa dầm dề nhiều ngày. Quân và dân ta lặn lội mưa rét ngày đêm vận chuyển gỗ, dựng cọc. Hàng nghìn cây gỗ lim, sến, đầu được vạt nhọn và bịt sắt được đem về đây cắm xuống thành những hàng dài chắc chắn, đầu cọc hướng chếch về phía nguồn. Trong khoảng hơn một tháng thì mọi việc hoàn thành.
Theo dự kiến, Dương Tam Kha (con của Dương Đình Nghệ) chỉ huy đội quân bên tả ngạn, Ngô Xương Ngập (con trai cả của Ngô Quyền) và Đỗ Cảnh Thạc chỉ huy đội quân bộ bên hữu ngạn, mai phục sẵn, phối hợp thủy quân đánh tạt sườn đội hình quân địch, sẵn sàng diệt nếu địch chạy lên bờ.
Từ cửa biển ngược lên phía trên không xa, một đạo thủy quân mạnh phục sẵn do chính Ngô Quyền chỉ huy chặn ngay đường tiến lên của địch, chờ khi nước xuống sẽ đánh lại.
Trận địa bố trí vừa xong thì binh thuyền Nam Hán kéo đến. Quân ta đợi lúc nước triều cường, đem đội khinh thuyền ra cửa sông khiêu chiến rồi giả thua chạy. Hoằng Tháo quả nhiên mắc mưu, thúc quân chèo thuyền, lũ lượt tiến qua bãi cọc đi sâu vào trong sông.
Cầm cự đến lúc triều xuống, rừng cọc gỗ lim nhô đầu nhọn lên mặt nước. Thuyền Nam Hán bị trúng cọc bọc sắt, đua nhau chìm, lật. Bấy giờ, Ngô Quyền mới dốc tổng lực ra đánh. Quân Nam Hán hỗn loạn, mười phần thì chết chìm hoặc bị quân ta giết đến 6, 7 phần. Tướng giặc là Lưu Hoằng Tháo bị giết tại trận.
Trận đánh chỉ diễn ra trong chưa đầy một ngày, không chỉ phá tan trăm vạn quân của Lưu Hoằng Tháo mà còn chôn vùi vĩnh viễn tham vọng xâm chiếm nước ta của nhà Nam Hán. Sách sử chép: “Vua Hán thương khóc, thu nhặt quân còn sót mà rút lui".
Mùa xuân năm 939, Ngô Quyền tự xưng Vương, chọn kinh đô là Cổ Loa, mở ra thời kỳ độc lập và chấm dứt nghìn năm Bắc thuộc. Ông trị vì được 6 năm thì mất.