Đánh đuổi quân Lương
Tháng 5 năm 545, quân Lương do Dương Phiêu và Trần Bá Tiên chỉ huy lại sang đánh Vạn Xuân. Lý Nam Đế giao chiến bất lợi. Năm 546, sau khi Lý Nam Đế thua trận phải lui về động Khuất Lão, đã ủy thác cho ông giữ việc nước, điều quân đi đánhTrần Bá Tiên của nhà Lương.
Năm 547, tháng giêng, ông lui về giữ đầm Dạ Trạch (bãi Màn Trò, huyện Khoái Châu, tỉnh Hưng Yên). Đầm này rộng, cỏ cây um tùm, bụi rậm che kín, ở giữa có nền đất cao có thể ở được, bốn mặt bùn lầy, người ngựa khó đi, chỉ có thể dùng thuyền độc mộc nhỏ chống sào đi lướt trên cỏ nước mới có thể vào được. Nếu không quen biết đường đi thì lạc không biết là đâu, lỡ rơi xuống nước liền bị rắn độc cắn chết. Quang Phục thuộc rõ đường đi lối lại, đem hơn 2 vạn người vào đóng ở nền đất trong đầm. Ông dùng chiến thuật du kích, ban ngày tuyệt không để khói lửa và dấu người, ban đêm dùng thuyền độc mộc đem quân ra đánh doanh trại của quân Bá Tiên cướp hết lương thực vũ khí, giết và bắt sống rất nhiều, lấy được lương thực để làm kế cầm cự lâu dài. Bá Tiên không đánh được. Người trong nước gọi ông là Dạ Trạch Vương (夜澤王).
Sau khi nghe tin Lý Nam Đế mất ở động Khuất Lạo, Triệu Quang Phục tự xưng là Triệu Việt Vương.
Năm 550, Trần Bá Tiên mưu tính cầm cự lâu ngày để làm cho quân của ông lương hết, quân mệt mỏi thì có thể phá được. Gặp lúc nhà Lương có loạn Hầu Cảnh, gọi Trần Bá Tiên về (sau này Trần Bá Tiên cướp ngôi vua của nhà Lương năm 557), ủy cho tì tướng là Dương Sàn ở lại. Ông tung quân ra đánh. Sàn chống cự, thua chết. Quân Lương tan vỡ chạy về bắc.