安史之乱后的唐王朝,虽然国势衰疲,但毕竟是庞然帝国,整体国力仍非吐蕃所能匹敌,只是由于内部矛盾纷争而外呈虚弱,处于战略守势,勉力于保境安边。代宗的唐朝和吐蕃的关系,常常和战不定,在双方互遣使臣,频繁盟誓的同时,时常是盟誓墨迹未干,而前线战端又起。关中西北方面陇山和六盘山一线的秋季战事,连年不断,且大多是以吐蕃军处于进攻态势。唐朝方面所以被动挨打者,一方面由于地方藩镇林立与中央离心离德,朝廷难以聚结起强大的财源和兵力,对吐蕃的进犯以重创。另一方面是与农、牧族类的军事制度密切相关。游牧民族军队以骑兵为主,马背转徙,作战机动性尤为显著。一旦唐朝边防有隙可乘,他们便进犯抢掠。及至唐军赶来讨伐,他们又消失得无影无踪了。吐蕃军每次入侵,大肆抄掠金帛财物。掳掠男女人口和牛羊牲畜,对无法带走的房舍民宅和青苗庄稼,则放火焚烧,纵马践踏。这种以战养战的方式,既使其民寡财乏的国力得以补给,又严重削弱了唐朝方面的经济基础和战争潜力。
面对这样的不利形势,朔方军移镇邠宁之后,郭子仪上奏唐代宗说:“裴冕在灵武带头辅佐先帝(肃宗),有安定社稷之功。程元振忌妒他的才能和正直,谗言诬陷,贬往荒远之地。伏请陛下把他召回京城,让他重新辅政,定能有所作为。”早在宝应元年(762)九月,右仆射、肃宗山陵使裴冕因不愿依附权阉程元振,被诬构贬为施州(湖北恩施)刺史,后又改移澧州(湖南澧县)刺史。执政宰相元载当初任县尉时,曾得到过斐冕的提携。因而也向代宗推举斐冕。于是,代宗下诏任命斐冕为左仆射同中书门下平章事。然而,这个时候的斐冕已经年老多病,被重新起用后未满一个月便去世了。这对当时的唐朝廷来说,是一个不小的损失。
凉州(治今甘肃武威)是河西节度治所、西北军事重镇。广德二年(764),仆固怀恩引回纥,吐蕃进犯邠州时,河西节度使杨志烈出兵袭击仆固怀恩后方灵武,仆固怀恩撤军回救。不久,凉州被吐蕃攻陷,杨志烈撤往甘州(治今甘肃张按),为沙陀所杀。郭子仪因西北边防空虚,又奏请朝廷派使者巡视安抚河西,并设置凉州、甘州、肃州、瓦州、沙州等长史,唐代宗准其所请。永泰元年(765)闰十月,郭子仪自泾阳进京朝见代宗,只停留了四天,就返回了河中。由于久经战乱,国家征集军粮很不容易,河中军队的粮食经常缺乏。为了减轻国家的负担,郭子仪自己带头耕种了一百亩地,将军和校尉耕种的田地依次递减,于是士兵都不用督促就自动耕种。到了第二年,河中一带到处是绿油油的禾苗、黄澄澄的庄稼,没有一片空地。所收粮食不仅满足了河中驻军的需要,还有不少余粮,既充实了国库,又减轻了百姓的负担。正当郭子仪在河中率领部队屯田自给的时候,不时传来邻近河中的同、华两州节度使周智光飞扬跋扈,目无朝廷,图谋不轨的消息。为了国家的前途命运,郭子仪不能不密切注视着事态的发展。
永泰元年(765),吐蕃军数万攻奉天,受阻后撤时,周智光领兵截击,击溃吐蕃军于澄城(今陕西澄城)北,追至酆州(今陕西富县)。由于周智光与杜冕不和,而当时杜冕屯兵坊州,家在郎州。周智光为泄私怨,杀了郝州刺史张麟,杀死杜冕的宗族家属81人,焚烧民房三千余家。回纥、吐蕃撤退后,周智光进京献捷。代宗以周智光有擅自杀人之罪没有封赏,让他走了才后悔。周智光回到华州,更加骄横,并开始不听朝廷差遣,代宗让杜冕到山南投张献诚,以躲避周智光。周智光得到消息,派兵于途中截击,没有得逞。周智光又聚集亡命之徒和无赖子弟好几万人,随便他们到处抢劫,以讨他们的欢心。他又擅自扣留关中由水路运往关东的大米二万斛。关东藩镇运往朝廷的进贡物资,也常常被他杀了使者而夺走。各州选送入京应试的学生,因畏惧周智光的残暴,偷偷地经过同州,被周智光知道了,派兵拦截,被杀的很多。陕州监军张志斌,回京奏事,路过华州,周智光留他住在馆舍。张志斌责备他的部下纪律不严,周智光大怒说:“仆固怀恩本来不反,就是你们这些人逼的。我也不想反,今天因为你造反了。”随即就下令把他杀了,并将他身上的肉也割下吃了。朝廷还想安抚周智光,晋升他为检校左仆射,派余元仙将任免状送给他。周智光大骂:“我有大功于国家,不授予我宰相却授予仆射,而且同州、华州土地太狭小,不足以施展我的才干,如果增加陕、虢、商、郎、坊五州,那还差不多。”紧接着,他又历数大臣过失,并且说:“这里离长安只有一百八十里,周智光夜里睡觉都不敢伸腿,恐怕踏破了长安城墙。至于挟天子以令诸侯,只有我周智光有能力做得到。”余元仙吓得两条腿直发抖。
郭子仪见周智光反状已经很明显,多次向朝廷请求讨伐他,唐代宗没有同意。直到大历二年(767)正月初六,代宗才秘密诏令郭子仪讨伐周智光。郭子仪命大将浑碱,李怀光率军进驻渭水旁,以隔阻同、华两州联系,扩大讨伐声势。周智光部下得知朝廷已命郭子仪率大军前来讨伐,都有离散之心。初八,驻守同州的周智光大将李汉惠率部向郭子仪投降。十一日,朝廷下令贬周智光为漕州刺史。十三日,华州牙将姚怀、李延俊杀死了周智光,将其首级献于朝廷。周智光之乱只用了八天就平定了。周智光叛军归附后,吐蕃再次派骑兵侵扰泾州(今甘肃泾川)。郭子仪奉诏率军西进,从河中移师泾阳,以抵御吐蕃进攻长安。吐蕃听说郭子仪西进,不敢继续南下,转而攻占灵州,郭子仪统帅朔方军主力北上,在灵州大败吐蕃军,斩杀其两万余人,随后带兵返回驻地泾阳。大历三年(768)初,关中局势平定,代宗又令郭子仪率军回驻河中。
吐蕃军队的连年入侵,使得唐朝廷对京城西北的防御问题更加关注。吐蕃兵战场主要集中在京城西北方向,而西北方的郐宁节度使马磷所率的四镇兵马实力无法与吐蕃军相抗衡,但郭子仪统率的朔方重兵却驻守在河中,远离战场,这样使得边境的驻防出现了疏漏。大历三年(768)八月下旬,吐蕃又出兵十万人进犯灵州。九月初一,唐代宗复令郭子仪率五万大军,从河中进驻奉天,以确保长安的安全。九月上旬,朔方军骑兵将领白元光两次击败吐蕃军数万人的攻势。在这段时间里,郑陈节度使李抱玉派其右军都将临洮(甘肃临潭)人李晟率兵袭击吐蕃军的后方。李晟说:“凭实力作战,五千人是够用的。用智谋取胜,五千人又太多了。”于是,李晟仅率一千名精锐骑兵,西出大震关(陕西陇县西南),奔袭临浒,攻克吐蕃军的军需基地定秦堡,烧毁堡内囤积的大批物资,俘虏堡将慕容谷种而还。在灵州的吐蕃军闻讯后,立即撤围退兵。九月二十七日,京师解除戒严令。
十月底,郭子仪自奉天入朝。他在京期间,宰相元载召集诸大将商议京西北的防御事宜。由于吐蕃连年进犯,战场主要在京西北方向,马磷所率四镇兵马驻守邠宁,实力无法与吐蕃军相抗,而郭子仪所统朔方重兵驻在河中,深居没有战事的腹心地区。元载建议朔方军移驻邠宁,以马磷之军移镇泾州(甘肃泾川);由于泾原边地荒凉残破,军费不足,可以征调内地的租税和远途运输来资助。郭子仪和马磷等人都对此方案表示赞同。十二日,唐代宗下诏改任马磷为泾原节度使;将邠州、宁州(治今甘肃宁县)、庆州(甘肃庆阳)三州之地划归朔方军,作为驻防区域。大历四年(769)六月,郭子仪带领朔方军精锐主力从河中移防邠宁。其余兵马除留驻河中之外,先前已有部分随路嗣恭进驻灵州。由于士兵们长期驻扎于河中,以此处为家园,许多将士不愿意迁往环境相对艰苦的邠州前线,往往开小差逃回河中。当时马严郑主持河中军府的留后事务,将逃兵全部抓获,并且斩杀带头逃跑的人以示惩戒,军心才得以稳定下来。这年秋天,吐蕃仍然出兵进攻灵州,被朔方留后常谦光击败。吐蕃得知郭子仪移镇邠州,自大历四年至七年,四年多不敢大举进犯。
大历八年(773)十月,重整旗鼓的吐蕃再次兵分两路侵扰唐朝。一路以万余人围攻灵州,以牵制郭子仪的朔方军,但很快被唐军击败。另一路十万人为主力,进攻泾、邠等州。郭子仪派朔方兵马使浑碱率步骑兵五千前去迎战,浑碱登高察看地形,下令占据险要,布下拒马(一种阻止人马奔突的防御战具),以防吐蕃骑兵冲击。当时浑碱才三十来岁,老将史抗、温儒雅等见他年轻,看不起他,不听从命令。当浑碱命令他们出击时,他们已经喝醉了酒,看到拒马,就说:“野外交战,哪里用得着这个!”于是下令撤了。他们让骑兵冲击吐蕃营阵,攻不进去就退了回来。吐蕃军跟在后面乘机追击,唐军因为拒马被撤,无法抵挡,因此大败,士卒死伤十之七八,居民被掳掠几千人。浑碱等奋力突出重围,才避免了全军覆没的结局。与此同时,马磷在盐仓的战斗中也惨遭败绩。
郭子仪在邠州得知前线战况失利,紧急召集诸将商讨作战方案。他首先说:“此次战争的失利,责任在我,而不在各位将军。我们朔方军一向以能征善战闻名天下,如今却被吐蕃打败,但是,我们要知耻而后勇,大家想想用什么计策才能一洗前耻呢?”这个时候,气氛非常紧张,诸将面面相觑,无言以对。浑碱主动请求再战,表示要戴罪立功,以功赎罪。浑碱说:“败军之将,本来不该再参加计议。但我愿说一下今天的事情,只求惩治我浑碱的罪,不然,就再派我去。”郭子仪答应并赦免了浑碱,并重新调整了兵力部署,派浑碱和盐州(今陕西定边)刺史李国臣等率军迂回到吐蕃军背后,伺机发动进攻,吐蕃军闻讯后立即回撤。浑碱所率大军早已埋伏在吐蕃军所必经的道路两侧,进行伏击。当急速回撤的吐蕃军进入到唐军的埋伏圈里时,浑碱大喝一声,身先士卒,冲向敌阵,唐军两侧夹击,大败吐蕃军,将吐蕃掠夺的物资等全部追回。而马磷也派兵袭击了吐蕃军的辎重基地潘原(今甘肃平凉东南),杀敌数千人。吐蕃军后方告急,只得全线西退,吐蕃的侵犯又一次被打退。浑碱后来成为唐德宗时期最有名的将帅之一,为平定朱泄、李怀光叛乱,复兴唐室,抵御吐蕃进犯立下了赫赫战功,官至邠、宁、庆副元帅、检校司徒,兼中书令。郭子仪在战争的实践中,为朝廷培养了一大批人才,有六十多名部属后来位至将相。