兖州刺史刘岱死后,曹操被推为新刺史,而刘协则是被朝廷推为兖、青州牧,孔融为青州刺史!(在东汉末年刺史与州牧的权利一样,州牧由刺史转变而来,二者基本一样)。都是地方州最高指挥官。
193年,朝廷任命的刺史金敞因无法上任,只能投靠南阳太守袁术。此前,荆州牧刘表断了袁术的粮道,这使得袁术的处境变得艰难,于是他率所部1万军进入想陈留。
在与“刘协”商量后提出帮助刘协将曹操赶出兖州,其实是想将曹操赶出后,再携程刘协,然后趁势占领兖州。熟读历史的刘协自然知道这件事!于是刘协便让让袁术入住匡亭,(刘协清楚地记得,在匡亭曹操会与袁术发生第一场战斗,匡亭之战),然后告知曹操,先与曹操结一个善缘!后面曹操攻徐州,再提出帮助他攻打徐州陶谦,最后占领徐州!
没想到袁术联合黑山军余党与匈奴于扶罗,从鲁阳出发,攻占封丘,并派大将刘详屯驻匡亭。他想将曹操的主力引到匡亭,再以优势兵力从封丘出击,与匡亭的刘详部夹击围歼曹军。
刘协立马通知曹操,并告知袁术不讲道义,好心收留他,他却趁机入侵封丘,又想引诱曹操上当受骗,再让他的大将刘详包围你,想围歼你!
曹操站稳脚跟后,面临着袁术的进攻威胁。曹操与袁绍是盟友关系,袁绍可能会在曹操遇袭时出兵支援。曹操坐镇鄄城,
袁术方面:孙坚阵亡后,袁术在与刘表的对峙中处于劣势,便萌生了放弃南阳郡、北上夺取兖州的想法。为实现这一计划,袁术求助于公孙瓒,让他牵制住袁绍,还拉拢了黑山军和南匈奴人。这些势力曾被曹操击败过,与曹操有过节,所以愿意联合袁术共同进攻曹操。
曹操攻刘详:袁术率军前往兖州的陈留郡,派部将刘详作为先锋,行军到了匡亭一带。曹操当时身在鄄城,得知袁术前锋已至匡亭后,决定主动出击。曹操率领军队攻打位于匡亭的刘详,刘详不是曹操的对手。
袁术救援被击败:刘详被攻,袁术连忙亲自率军支援,但曹操早有准备,与袁术军展开大战,最终曹操大败袁术。袁术军队溃不成军。
曹操乘胜追击:
袁术退保封丘:战败后的袁术率军撤回封丘。曹操见袁术依然在兖州附近,没有放弃的打算,于是率军继续追击。曹操计划将袁术包围在封丘,一举消灭袁术。但袁术赶在被曹操合围前,率军撤退到了太寿。
袁术退守封丘:匡亭战败后,袁术率军退保封丘。曹操深知必须乘胜追击,不给袁术喘息之机,于是迅速整顿军队,向封丘进发。