建安十八年(213年)正月,曹操征讨孙权回来,命张辽、乐进、李典等率领7000多人驻守合肥。建安十九年(214年)五月,孙权亲征皖城,张辽从合肥向皖城驰援,在增援途中得知皖城失守。张辽在硖石的南面迅速筑起了一座被称为"南硖戍"的堡垒,作为合肥的前哨。建安二十年(215年),曹操出征张鲁,让护军薛悌送去一封信函,在函边上还注明"贼至乃发"。也就是要在敌人来攻时再打开来看。同年八月,孙权带领十万兵马包围了合肥,众将军打开手令,上面写着:"如果孙权兵来,张辽、李典二位将军出战,乐进守城,护军薛悌不得参战"。众将疑惑不解。张辽说:"主公在外远征,等救兵赶到,敌人必定已经把我们打败了,所以命令我们趁敌人尚未集中的时候立刻迎击,挫伤他们的气势,来安定军心,以后就可以顺利防守了。胜负的机会,就在这一战,大家有什么好怀疑的呢"?李典赞成张辽的意见。
张辽连夜召募敢死的士兵,得到800余人。天一亮,张辽披甲持戟,一马当先、率先杀入敌阵,一连刺死了几十名敌兵,斩杀了两员敌将。大声喊着"张辽在此"!冲入敌军营垒,直杀到孙权的旗下。孙权大惊,仓皇间逃上小山顶,用长戟护住自己。张辽喝叱孙权来接战,孙权不敢动。望见张辽带领的兵士少,孙权的部下渐渐聚拢,把张辽层层包围起来。张辽左右突围,奋勇向前,冲开缺口,率部下冲出重围。仍被困在阵中的士兵高声呼:"将军不管我们了吗"?张辽听到喊声,又大声叫道"张辽在此"!再次返身杀入重围,救出了那些士兵。吴军人马望风披靡,无人敢挡。这一仗,从早上战到中午,吴兵垂头丧气、士气低落!张辽回城后,加紧修筑防御工事。部下士气大振,众将军也很敬佩张辽。
孙权包围合肥十多天,看不到攻破城池的希望,便领兵撤退了。张辽率领各路人马趁机追杀,几乎捉住了孙权,吴军幸亏吕蒙、甘宁、凌统赶到,凌统救回了孙权。这一仗之后,杀得东吴人人害怕,据说后来听到张辽来了!孩童都不敢夜间啼哭。曹操深深为张辽的勇武而感动,封他为征东将军。
建安二十一年(216年),曹操再次征伐孙权,到了合肥,沿着张辽当时作战的遗迹走了一趟,感慨、叹息了很久。特的给张辽增兵,多留兵将。让张辽迁守驻扎在巢湖。建安二十四年(219年),关羽在樊城围住了曹仁,正赶上孙权向魏称臣,为了让孙权安心攻打荆州,曹操派张辽率诸军增援,解救曹仁之围。张辽素知曹操的用意,虽然他收到诏令较晚,但向樊城的进军速度却很快。但张辽尚未到达,徐晃却已经打败了关羽。解除了曹仁之围。