建安二十四年(219年)七月,关羽临北伐前,除增兵加强公安、江陵的防备外,又在公安、江陵附近沿江置“屯候”,以便随时侦察吴军功向。实际上,对吴国形成沿江屯候、公安、江陵内外套城四道防线。而且江陵距樊城前线只有180公晨,当时轻骑一日一夜行300里,只需一天多就能赶回。在关羽看来,对吴国的防范,可说是万无一失了。
关于北伐战略战术布署,可以分为五点:第一、这次北伐的战略目标,乃是夺取曹魏在荆州北部的两个据点襄阳、樊城,以便作为将来北上宛、洛的基地;第三、襄阳在汉水与淯水合流处的北面,樊城在襄阳沿汉水上溯的9公里处,两城皆依傍汉水,故决定秋季雨水季节北伐,可以充分利用汉水发挥水师的优势;第三、集中优势兵力围歼襄、樊守军,尤其是曹仁在樊城的主力守军;第四、致函汉水上游的刘封、孟达,请其派兵从西北面支持,使樊城两面受敌;第五、派小股游军北进,威?#123;许昌,以动摇襄、樊守军。
战争开始后,关羽以迅雷不及掩耳之势,亲率大军围曹仁于樊城。曹操先派汝南太守满宠援助曹仁,又遣于禁等七军助仁。八月,暴雨,汉水平地涨数丈,于樊七军和曹仁别部庞德军被水淹没,于禁、庞德避水登高堤上。关羽利用强大“舟兵”,乘大船攻击,四面放箭,战斗异常激烈,从早晨战至日中,于禁势穷投降,庞德被俘杀,共俘曹军3万余人。关羽消灭了于禁援军后,围禁城数重,内外断绝,樊城粮食将尽,危在旦夕。又遣别将围曹仁别帅吕常于襄阳,以阻止其援救樊城,并迫使曹魏荆州剌史胡修、南乡太守傅方投降。
关羽先派游军北上颍川郡郏县(今河南郏县)地区活动,此地离曹魏都城许昌(今河南许昌市东)约75公里,当时轻骑兵一日便能到达。于是,北方震动。十月,弘农郡陆浑县(今河南嵩县北,离洛阳约60公里)民孙狼以吏民反役“作乱,杀县主簿,南附关羽”。羽“授狼印,给兵,还为寇盗,自许昌以南,往往遥应羽,羽威震华夏”。曹操“以汉帝在许,近贼”,“议徙许都以避其锐”。经蒋济等劝止。曹操急派徐晃督大军助仁,以解樊围。又派赵俨以议郎参曹仁军事。关羽派别军屯樊城之北五里的偃城,以阻击徐晃援军。徐晃因“所将多新卒,以羽难与争锋”,遂前至离偃城西北十里的阳陵陂屯营,犹豫不进。曹操又派将军徐商、吕建等助晃。此时,曹魏群情汹汹,皆以为曹操如不亲征,曹仁、徐晃等必败。曹操自洛阳南下,欲亲征关羽,驻军摩陂(在郏县东南)。此处距许昌45公里。曹操驻此,实际上一则为镇慑北方,捍卫都城安全;再则遥控襄、樊前线战事。曹操驻军摩陂后,又接连遣殷署、朱盖等十二军诣晃助阵。仍恐徐晃等军为关羽所破,又密令驻守在居巢(今安徽铜城县南)防吴的张辽军,以及衮州剌史裴潜、豫州剌史吕贡等率军赶救曹仁。当各路援军陆续前至,在樊城北双方一场大战后,军事形势逐渐向对关羽军不利方向发展。关羽当机立断,决定有计划地主动撤退。先从偃城退至樊城北面的围头、四冢屯营,然后又利用汉水舟师撤樊城围,退至襄阳。正当此时,江陵、公安失守。
在五个月北伐战争中,关羽按照预定谋略,利用汉水以步、骑、水师联合作战,重点围困襄、樊,阻击援军,并派游军北上,联合反曹势力,从而使北伐军一直处于主动地位。曹操先后派满宠、于禁、徐晃、赵俨、徐商、吕建、殷署、朱盖、张辽、裴潜、吕贡等共11人(将领7人,参军1人、剌史2人、太守1人),其中除张辽、裴潜、吕贡等军因关羽撤围未到樊城外,其余8人都参加了樊城战役。于禁七军被关羽所俘3万余人,加上死亡逃散的,当不下4万人,每军在5千人以上。徐晃同夏侯渊以重兵守汉中,夏侯渊战死后,徐晃率重兵屯宛,当不下万人。殷署、朱盖等12军,殷署一军为5千人,其余11军仍以每军5千人计,徐晃、殷署、朱盖等军共约7万人。曹仁、吕常所领樊城、襄阳守军,当不下1万人。曹魏方面,最后阶段守军和援军,总共大约有8万余人。关羽荆州军大约总数5万人,除留守后方外,北伐主力军约有4万余人。以此前后对抗曹军12万,中期以后对抗曹军8万余人。在战斗中,俘降其将领1人,剌史、太守各1人,俘杀其将领1人,消灭曹军主力近4万人。而关羽荆州军无论进攻或撤退,都按预定谋略进行,井然有序,无重大伤亡。应该说,其战绩是显著的。
就北伐整体战局而论,这不是一次寻常的战役,因为曹操亲至摩陂坐镇指挥,调兵遣将,同关羽交锋的将领如曹仁、于禁、庞德、徐晃等都是其手下第一流名将。而且关羽又是在刘封、孟达等援军不到,以寡不敌众,孤军奋战的形势下指挥的这场战役。尽管为此,关羽面对强敌,无所畏惧,既按预先谋略,并发挥其随机应变的指挥能力。在北伐战争发展的三个阶段:消灭主力援军时,充分运用水军的优势;围城阻援时派出游军北扰,并利用北方反曹势力;在战局趋向不利时,又主动撤退,因而关羽始终把握着战争的主动权,从而取得了一定的战绩。所有这些表明,关羽不但具有真刀真枪实战的非凡本领,而且是一位具有指挥大型战争能力的名将。