公元200年秋七月,汝南黄巾军首领刘辟等叛归袁绍。袁绍使刘备领兵与刘辟寇略许都以南,关羽得知后从曹操处亡归至刘备处助之。曹操派遣曹仁来攻击刘备,刘备久战不利于是回到袁绍处,此时刘备想要离开袁绍,便以连结刘表为由,带兵来到到汝南,联合黄巾余党龚都,众有数千人,曹操听说之后,派遣蔡阳前来攻打,被刘备设计所杀。
建安六年,曹操亲自讨伐刘备,刘备前往荆州投靠刘表。刘表亲自到郊外迎接刘备,待以上宾之礼,并让刘备屯兵于新野。荆州豪杰久闻刘备仁义,纷纷前往拜会刘备,引起刘表的猜疑,刘表暗里提防刘备。
建安七年,为抵御刘备的北伐,曹操指派大将夏侯惇、于禁、李典,于博望与刘备交战,刘备在杀伤一定曹军后退兵。日后曹操将重心转移至北方的袁谭与袁尚身上,无暇再顾及荆州的刘备,使其获得休养生息的机会,而刘表亦不愿再北伐曹操,中原南部有了数年的和平。
此时,当时刘备发现自己当下处于很不利的状态,迫切的需要一个能帮他处理政治和军事问题的军师,他开始请了徐庶为军师;但没过多久,徐庶之母被曹操抓走,并且逼迫徐庶离开刘备。所以他更迫切需要找到下一个军师。他当时的背景是北有强敌曹操,南有荆襄刘表,身在夹缝中的他,始终难有大的作为。在荆州的地位也快随着刘表之死而变的一文不值,如果他不能改变现在这种逆境,刘备势力的灭亡将是迟早的问题。于是在徐庶离开之际向他推荐的诸葛亮,便成了他唯一的一棵救命稻草,也就是想借用诸葛帮他改变逆势,想在天下中立足。
建安十二年,刘备前往隆中拜访诸葛亮,三顾茅庐之后,诸葛亮答应出山辅佐刘备,并向刘备献上了隆中对。刘备遂拜诸葛亮为军师,日夜操演军马。当年秋,曹操令夏侯敦为都督,于禁、李典、夏侯兰、韩浩为副将,领兵十万,直奔新野,征讨刘备。刘备闻讯后,立即召集将士,诸葛亮首次分兵派将,要求众将依计而行。夏侯敦与于禁引兵至博望坡后,诸葛亮令刘备、赵云佯装败走。此时天色已晚,并刮起大风。夏侯敦只顾追击,不知不觉陷入埋伏圈内,四周突然燃起大火,杀声震起。一时间,四周芦苇全部燃着,火借风势,火光冲天。曹军自相践踏,死者不计其数。赵云又带兵杀回,夏侯敦带领部分军马突火而逃。此时,关羽见火起,出兵截住粮草,一把大火,粮草全部燃着。于禁、李典走小路逃脱。张飞见火起,领兵在博望城放火烧着辎重。夏侯兰、韩浩夺路逃脱。这一仗曹军死伤无数。刘备赢得了从所未有的第一次全胜,此次胜利也迫使曹操将战略重心转移至北方袁绍身上。
建安十三年,曹操在平定北方之后,于正月回到邺城,随即开始了向南用兵的军事上和政治上的准备:首先在邺城凿玄武池以练水军;然后派遣张辽、于禁、乐进等驻兵许都以南,准备南征;随后令马腾及其家属迁至邺,做了实际上的人质,以减轻西北方向的威胁;对内罢三公官位,设置丞相、御史大夫,自任丞相,进一步巩固了他的统治地位;最后将反对自己的孔融等人下狱,以维护自己的权威。同年七月,曹操挥军南下着手攻打荆州,八月,荆州刘表病死,蔡瑁、张允等就拥立刘琮继任荆州牧。曹操接受了荀彧的意见,先抄捷径轻装前进,于三日后抵达宛城驻扎。
章陵郡太守蒯越惧怕曹操势大,便伙同东曹掾傅巽等劝刘琮投降曹操,对他说:“逆顺有一定的道理,强弱有一定的形势。以臣属的身份去抗拒天子,是对国家叛逆;以刚接手的荆州去抵御朝廷大军,必会陷入危险;依靠刘备去对抗曹操,一定失败。这三个方面我们都不行,拿什么去对付曹操大军?而且将军您自己考虑一下,您比得上刘备吗?如果刘备挡不住曹操,则即使是投入荆州的全部力量,也不足以自保;如果刘备挡得住曹操,则他就不会再居于将军之下了。”刘琮听从他们的意见,不久将刘备部队调往樊城驻守。九月初,曹操到达新野县,刘琮打开荆州城门投降曹操,并派人用朝廷过去颁发的符节去迎接曹操。曹军将领都疑心刘琮是诈降,娄圭说:“现在天下分裂,各地割据势力都贪图用代表王命的符节来抬高自己的身份。这次送来符节,这必定是真心诚意。”曹操于是接受刘琮的投降,继续进军。
九月中旬,曹操到达新野。曹操南下的消息,依附刘表、屯兵樊城的刘备一直不知道,直至曹军到达宛城的附近时,才被斥候探知:而刘琮已向曹操投降,却不敢告诉刘备,刘备发现状况,于是派亲信询问刘琮,这时刘琮才派宋忠告知刘备,刘备既惊骇又颇气愤,只好立即舍弃樊城向南逃蹿。