Duque Xiang de Qi fue asesinado en 686 a. C.; un mes después, su sucesor también fue asesinado. El hijo menor del duque Xiang, Xiaobai, ocupó el trono en la primavera de 685 a. C. como el duque Huan de Qi. El hermano mayor del duque Huan, Lord Jiu, creía que él era la persona adecuada para tomar el trono, por lo que se alió con el duque Zhuang de Lu y lanzó una guerra contra el duque Huan. Sin embargo, el ejército del Estado de Lu fue derrotado por Qi en la batalla de Ganshi, y el duque Zhuang de Lu casi fue asesinado en la batalla. Al darse cuenta de que el Estado de Lu estaba apoyando a Lord Jiu, el duque Huan de Qi estaba molesto. Planeó atacar a Lu como una venganza.
En la primavera de 684 a. C., el duque Huan de Qi ordenó a su ejército atacar a Lu. Cao Gui fue designado como el general de Lu para defender el estado. El duque Zhuang de Lu también se presentó en primera línea junto con Cao Gui.[1] Cao Gui le pidió al ejército de Lu que se detuviera en la formación de la batalla y las fortificaciones y que no se defendiera hasta su orden. El ejército de Qi cargó dos veces, pero el ejército de Lu se quedó en las fortificaciones y no respondió. Cuando los soldados Qi comenzaron su tercera carga, Cao Gui ordenó al ejército de Lu lanzar un contraataque. En este punto, los soldados de Qi estaban cansados y apenas podían concentrarse, por lo que fueron derrotados.[2] El duque Zhuang de Lu ordenó de inmediato a los soldados de Lu que persiguieran al ejército Qi que huía. Cao Gui aceptó la orden después de asegurarse de que no había una emboscada. El ejército Qi fue completamente destruido y expulsado de la frontera.[3][4]