史万岁军数十日杳无音信,远近皆以为其部已全军覆没。由于水陆交通阻绝,信使不通,史万岁只得置书信于竹筒之中,浮于水上,顺流而下。有取水之人得到竹筒后,报告给杨素。杨素大喜,并上奏报于隋文帝。隋文帝接报后赞叹不已,赐史万岁家钱十万,官拜左领军将军。杨素军也继续追击反隋散兵,抓获高智慧,平定了叛乱。
南宁州(治味县,今云南曲靖西)羌族首领爨翫于隋初接受招抚,被任命为昆州(治在今云南昆明市西郊马街附近)刺史,后又叛隋。
开皇十七年(597年)二月,隋文帝史万岁为行军总管击爨翫。史万岁率部经蜻蛉川(今云南大姚)、弄栋(今云南姚安北)、小勃弄、大勃弄(二地均在今云南下关东南),进入南宁州地区。爨翫依险固守,均被史万岁击破。隋军行数百里,经过诸葛亮纪功碑,见其背刻铭文:“万岁以后,超过我的就过此界。”
史万岁令左右将碑倒置,继续向西挺进,渡西洱河(今云南洱海),入渠滥川(位于云南下关东北),转战千余里,破西南羌族30余部,俘二万余人,诸羌大惧,爨翫被迫再度请降。献明珠宝物,表示愿听约束,并刻石勒铭,赞颂隋朝圣德。史万岁遣使飞骑上奏,请将爨翫入朝,隋文帝准其所奏。
但爨翫心怀二志,不想随军入朝,便以金宝贿赂史万岁,于是史万岁便放爨翫而还。当时蜀王杨秀正在益州(今四川省成都),知其受贿,派人索取。史万岁闻知此事,将所得金宝全部沉于江底,杨秀无所获,只得作罢。
史万岁以平定南方各部落之功,位进上柱国,晋王杨广虚怀敬重他,并用朋友的礼节待他。隋文帝知道他被晋王看好,就派万岁监管晋王府的军中事务。
第二年,爨翫又反叛。蜀王杨秀弹劾史万岁受贿纵贼,致生边患,毫无大臣气节。隋文帝下令严查此事,查对属实,其罪当死。
隋文帝责问他:“你接受贿赂私自放走贼寇,让士卒军马再度受到劳累。朕每想到将士们的辛苦,寝不安席,食不甘味,你这种做法难道是社稷臣该做的吗?”
史万岁辩解说:“臣留着爨翫一条性命,是担心这个地方会有变故,将他留下加以镇抚。臣撤军到达泸水,诏书才到,因此没有将他押送入朝,实在不是接受了贿赂。”
隋文帝见史万岁不承认错误,大怒道:“我原以为你是个良臣,怎么如今官职大俸禄重,反而变成国贼了呢?”并对有司说:“明天就杀掉他。”
史万岁惧而服罪,向隋文帝顿首请命。左仆射高颎和左卫大将军元旻等见他已认罪,便也为他说情:“史万岁才略非同一般,每次率军作战,身先士卒,又善于抚恤将士,大家乐意为他效力,即使是古代名将也难超过他。”
隋文帝听后,怒气稍解,将他削官为民。一年后,恢复官爵,授河州(今甘肃省临夏东北)刺史,兼领行军总管,以防备胡人来犯。
开皇十九年(599年),突厥都兰可汗被部下所杀,其部落大乱。为挽救突厥颓势,达头可汗自立为步迦可汗。开皇二十年(600年)四月,率兵进犯隋朝。
隋文帝命晋王杨广、尚书右仆射杨素出兵灵州(治回乐,今宁夏灵武西南),汉王杨谅与史万岁出兵朔州(治善阳,今山西朔县),合击步迦可汗。
史万岁率柱国张定和、大将军李药王、杨义臣出塞,军至大斤山(即今内蒙大青山),与步迦可汗军遭遇。
步迦可汗派人问:“隋军主帅是谁?”
侦察骑兵报告说:“是史万岁。”
步迦可汗又问:“莫不是敦煌守卒史万岁?”
侦察骑兵说:“是啊。”
步迦确定隋军统兵将帅是当年威震敦煌的史万岁后,慌忙引军回撤。史万岁挥马追击百余里,大破突厥军,斩杀数千。又继续跟踪追入沙漠数百里,凯旋而归。
史万岁自大斤山回京后,杨素妒忌其功,在隋文帝面前谮言史万岁,说:“突厥已经投降了,况且他们本来不是入寇,只是放牧而已。”因此隐瞒了他的功劳,不予褒奖。史万岁数次上表陈述,隋文帝仍未醒悟。
此时,隋文帝从仁寿宫初还京师,并刚废掉太子杨勇,所以严防东宫结党谋变。
隋文帝问史万岁现在何处,其时史万岁正在朝堂上,但杨素见隋文帝正怒,却故意说:“万岁拜访东宫去了。”以激怒隋文帝。
隋文帝信以为真,立即下令召见史万岁。当时出征将士数百人在朝称冤,史万岁对众人说:“我今天就把你们的功劳极力地陈述给皇上,事情会解决好的。”
史万岁见到隋文帝后,说:“将士们有功,却被朝廷所抑制!”
他的语气激昂愤慨,对隋文帝也不顺从。
隋文帝越发震怒,令武士将史万岁暴杀于朝堂之上。
李药王作为史万岁的下属,也屡立战功,开皇九年被授上开府仪同三司,袭爵永康公。十年,任婺州刺史。十四年授南宁道行军总管,册授大将军。十八年,授云州道行军总管。十九年,又除石州刺史。廿年,又授朔州道行军总管。