En agosto, las tropas de Yuan Shao llegaron a Guandu y acamparon a lo largo de la duna de arena, a decenas de kilómetros de este a oeste. Cao Cao también dividió su campamento y se enfrentó a Yuan Jun. En septiembre, Cao Jun lanzó un ataque, pero la batalla no salió bien. En ese momento, Cao Cao tenía menos de diez mil soldados y veintitrés de cada diez estaban heridos, por lo que tuvo que regresar al campamento y aguantar. Cuando Yuan Jun vio esto, amontonó montañas de tierra, colocó remos altos y disparó a Cao Ying con una flecha, de modo que los soldados de Cao Jun solo pudieran caminar bajo sus escudos. Para revertir esta situación pasiva, Cao Cao ordenó a los artesanos que construyeran un carro de rayos durante la noche, devolvió una piedra voladora a Yuan Jun y destruyó la torre de Yuan Jun. Yuan Shao también ordenó a sus soldados cavar túneles para atacar a Cao Cao, y Cao Jun también llevó a cabo un ataque de ojo por ojo cavando trincheras en el campamento. Cao Cao también escuchó que miles de carros y suministros militares de Yuan Shao estaban a punto de ser transportados al campamento de Guandu. Inmediatamente envió a los generales Huang Xu y Shi Huan para interceptar y quemar todo el grano de Yuan Jun.
Los dos bandos lucharon durante más de un mes. Cao Jun tenía escasez de alimentos y sus soldados estaban exhaustos, por lo que Cao Cao buscó una oportunidad para luchar contra Yuan Shao. En octubre del quinto año de Jian'an (200), Yuan Shao envió otro camión para transportar grano y ordenó a Chunyu Qiong y otras cinco personas que dirigieran a más de 10.000 personas para proteger el grano y almacenarlo en Wuwo, cuarenta millas al norte. del campamento. El consejero Xu You sugirió que Yuan Shao enviara caballería ligera para atacar Xuchang por la noche, pero Yuan Shao se negó a adoptarlo. En ese momento, alguien de la familia de Xu You violó la ley y fue detenido por su enemigo político Shen Pei. Enfadado, se acercó a Cao Cao y le propuso un plan para atacar repentinamente la guarida de Wu. El plan de Xu You está en línea con el deseo de Cao Cao de encontrar caballería de hierro y ganar por sorpresa. Entonces Cao Cao tomó una decisión decisiva y dejó a Cao Hong y Xun You para proteger el campamento de Guandu. Él mismo montó a 5.000 hombres y partió durante la noche, fingiendo ser Yuan Jun en el camino y engañando al puesto de avanzada de Yuan Jun. Cuando llegaron a Wuchao, rodearon el depósito de cereales y le prendieron fuego hasta el amanecer. Chunyu Qiong vio que el ejército de Cao tenía pocos soldados, así que salió a luchar. Cao aprovechó la victoria y lo mató, pero Yuan Jun no pudo resistir, por lo que tuvo que regresar al campamento y aguantar. En ese momento, Yuan Shao envió caballería para rescatar a Wu Chao y ordenó a Zhang Hekun y Gao Lan atacar el campamento de Cao Jundu en un intento de derrotar a Cao Cao. Cuando los refuerzos de Yuan Jun se acercaron a la dinastía Wu, los lados izquierdo y derecho informaron a Cao Cao para dividir sus fuerzas para resistir. Cao Cao estaba furioso y dijo: "¡Di si los soldados enemigos están detrás de mí!" Entonces todos los soldados lucharon hasta la muerte, derrotaron a los defensores de la dinastía Wu y capturaron y mataron a Yuan Jiang Chun Yuqiong. Pero Zhang Qian y Gao Lan vinieron a atacar la fortaleza. Cuando se enteraron de que Chunyu Qiong había sido derrotado, Yuan Shao empezó a sospechar y llevó a sus tropas a rendirse. Cao Cao aprovechó la situación para atacar a Yuan Jun. Yuan Shao y su hijo Yuan Tan huyeron a Hebei presa del pánico con sólo más de 800 jinetes.
La Batalla de Guandu, tras más de un año de enfrentamiento, finalizó con la victoria general de Cao Cao. Cao Cao lanzó un ataque sorpresa con unos 20.000 soldados y derrotó a Yuan Jun con 100.000 soldados. Esta batalla se convirtió en una batalla típica en la historia de China. Con su extraordinaria inteligencia y coraje, Cao Cao escribió la página más gloriosa de su carrera militar. En el séptimo año de Jian'an (202), Yuan Shao murió de depresión debido a la derrota. Cao Cao aprovechó la oportunidad para eliminar por completo al grupo militar de Yuan. En el duodécimo año de Jian'an (207), Cao Cao conquistó Wuhuan nuevamente. En este punto, el norte devastado por la guerra estaba unificado.