太平兴国三年(978年),升任西上阁门使。同年六月,汴河在宁陵决口,郭守文率宋州(今河南商丘)、亳州(今安徽亳县)丁壮四千余众,前去治塞汴水宁陵之患。同年冬,他又与阁门副使王侁、西八作副使石全振监督在滑州灵河县(今河南延津)堵塞黄河决堤之患。
征汉败辽
太平兴国四年(979年),宋太宗倾国之力,讨伐北汉,志在一鼓荡平。当时郭守文与判四方馆事梁迥分别统率行营马步军。北汉皇帝刘继元投降后,其弟刘继文兵据代州(今山西代县),不听刘继元之命,投靠辽国,拒绝归宋。郭守文受命率兵出石岭关,挥戈北征,一战而大败刘继文,再战而兵克代州,雁门关之南尽归于宋。宋太宗见郭守文悉熟北土,善于野战,遂诏命其屯兵定州(今河北正定),戍守北陲。郭守文不辱军命,屯驻定州,与辽军激战于满城,大破辽军。郭守文以军功升任东上阁门使、兼任澶州刺史,旋即又升调京师,任内客省使。
太平兴国八年(983年)五月,滑州(今河南滑县)房村黄河决口,黄水泛滥,淹没澶、濮、曹、济四州民田,毁坏官厅、民舍无数。朝廷调发士卒堵塞,命令郭守文全权负责此项工程。郭守文奉命治洪,塞其决口,他率兵堵塞决口,挖掘河道,退却漫水,整治田渠,修筑衙舍,深受乡民拥戴、朝廷嘉赞。久,辽国趁宋黄河决悬难之危,无暇顾及边事,遂南下兵困雄州(今河北雄县)。郭守文撤出河役,奉命率领数万禁军北上赴援。辽军闻讯,解围北撤,待郭守文兵至,辽军早已逃走。
讨伐党项
雍熙二年(985年),诏令郭守文率兵屯守三交,不久加兼武州(今山西武寨)团练使。当时党项既不服辽国,又不服北宋,边警时起时息,西北边陲被扰不断。郭守文到任后,率兵讨伐入侵诸夏部族,先败夏州(今陕西横山)盐城镇岌罗腻等十四个部族联兵,杀敌数千人,俘获上万人,俘获牲畜数以万计。又打败咩嵬族兵众,把他们全部杀死。各少数民族部落非常恐惧,相继来降。使银州(今陕西米脂)、夏州、麟州(今陕西神木)三州的一百二十五个部族、一万六千余户纷纷内附北宋。西北因此稍稍安定。
兵败降职
雍熙三年(986年)春,赵光义发动“雍熙北伐”。当时郭守文任幽州道行营前军水陆都监。激战中,郭守文策马前冲,被辽军流矢射中。为稳定军心,他不动声色,佯作无事,继续督战,军中将士都佩服他的胆量。此次伐辽之战,宋军先胜后败,损失惨重。郭守文亦因“违诏逗留退兵”之过,被降职为右屯卫大将军。
复职去世
端拱元年(988年),郭守文官复原职。三个月后,升任宣徽北院使。又与田钦祚一同任北面排阵使,驻军镇州。又改任宣徽南院使、镇州路都部署。又再次升任为北面行营都部署兼镇定、高阳关两路排阵使,一直充任国家北陲重要军职。同年冬,辽军乘秋膘马壮,易于北军作战之地利、天时,大举南侵。郭守文则防患于未然,以静制动,以逸待劳,在唐河一带(今河北唐县、望都)重创辽军,使之战败北遁。
端拱二年(989年)十月,郭守文去世,终年五十五岁。宋太宗深为痛惜,追赠侍中,赐谥号为忠武,追封谯王,派中使(宦官)护送,归葬汴梁。
郭守文死后一个多月,中使从北方回朝,说道:“郭守文去世时,军中军士们都痛哭流涕。”赵光义询问为何会这样,中使回答说:“郭守文在职时把所得俸禄赏赐全部犒劳士卒,到他去世那天,家中没有余财。”赵光义叹息良久,赐郭守文家五百万钱,并替第三子、襄王赵元侃(即宋真宗赵恒)娶郭守文之女为夫人,此女即后来的章穆皇后。