Tháng 9 năm 198, Tào Tháo đích thân cùng Lưu Bị mang quân tới đánh Từ châu.
Tháng 10 năm đó quân Tào đến Bành Thành, giết chết tướng giữ thành là Hầu Giai. Sau đó Tào Tháo tiến đến Hạ Bì, Trần Cung khuyên Lã Bố mang quân ra đón đánh địch nhưng ông không nghe theo, muốn đợi quân Tào đến thành mới giao chiến.
Quân Tào kéo tới Hạ Bì, Lã Bố mang quân kỵ ra nghênh chiến. Tào Tháo bắt sống được viên mãnh tướng của Lã Bố là Thành Quảng, Lã Bố thua bị mấy trận phải rút vào thành Hạ Bì cố thủ và sai người cầu cứu
Viên Thuật và
Trương Dương.
Tào Tháo bèn gửi thư dụ hàng ông. Lã Bố muốn hàng, nhưng
Trần Cung cho rằng không nên, và hiến kế chia quân chống lại: Lã Bố mang một đạo quân ra ngoài làm thế ỷ dốc với thành, quân Tào đánh đâu thì hai bên cùng liên hợp chống lại. Lã Bố nghe có lý bèn chuẩn bị ra thành, nhưng nghe lời vợ can không nên đi lại thay đổi ý định không đi nữa, chỉ sai Hứa Dĩ, Vương Khải đi cầu cứu viện binh của Viên Thuật lần nữa.
Viên Thuật ra điều kiện Lã Bố phải mang con gái tới Thọ Xuân theo lời hứa hôn trước đây thì mới phát binh. Ông bèn lấy bông và áo giáp bọc cho con gái, đưa lên mình ngựa và sai quân nhân lúc đêm tối vượt vòng vây đi đến chỗ Viên Thuật.
Quân Tào vây đánh 1 tháng không hạ được, bắt đầu mệt mỏi. Tào Tháo muốn lui quân nhưng
Tuân Úc và
Quách Gia khuyên nên đánh gấp. Tào Tháo theo kế, sai quân khơi sông Nghi Thủy và sông Tứ Thủy đổ nước vào thành Hạ Bì. Thành ngập nước, Lã Bố nguy khốn phải lui dần vào trong rồi rút lên cố thủ ở lầu Bạch Môn, thế cùng lực kiệt. Viện binh của Viên Thuật vẫn không thấy đến.