魏青龙二年(公元234年)二月,诸葛亮动用全部兵力共十万大军从斜谷出发进攻魏,并派遣使者前往东吴约定同时进攻。诸葛亮到达郿县,大军驻扎在渭水南面。魏军统领司马懿率领军队,沿河筑营抵抗诸葛亮。司马懿对将领们说:“诸葛亮如果从武功出发,依山往东进发,那么确实值得担忧;如果向西前往五丈原,你们就可以不必操心了。”诸葛亮果然在五丈原驻军。
雍州刺史郭淮对司马懿说:“诸葛亮肯定会争夺北原,我们应当先行占领这个地方。”参与议论的人多数认为不必这样,郭淮说:“如果诸葛亮跨过渭水登上北原,和北山连兵,断绝长安与陇西的通道,会导致民情不安,这是对国家很不利的。”司马懿便派郭淮驻防北原。堑壕和营垒还没有筑成,蜀军就已浩浩荡荡杀来,郭淮带兵迎战,击退了蜀军。
诸葛亮因为前几次出兵,都因粮草运输跟不上,才没有成功,于是分出部队实行屯田,作为长期驻军的基础。屯田的士兵和渭水之滨的居民杂处,百姓安居乐业,军队不生私弊。
司马懿同诸葛亮相持了一百多天,诸葛亮屡次挑战,司马懿就是不出战。诸葛亮就把妇女用的服饰送给司马懿,司马懿恼羞成怒,上表请求出战。魏明帝派遣卫尉辛毗,持符节担任军师,来节制司马懿的行动。护军姜维对诸葛亮说:“辛毗持符节到来,敌人不会再出战了。”诸葛亮说:“司马懿本来就无心出战,之所以向朝廷请求出战,是要向部下表示自己不害怕出战而已。将领身在军中,君主的命令不一定要接受,如果他真能够打败我,哪里还需要向千里之外的君主请战呀!”
诸葛亮派遣使者到司马懿军中,司马懿向使者询问诸葛亮的睡眠、饮食和事务多寡,而不打听军事上的消息。使者回答说:“诸葛先生早起晚睡,凡是二十杖以上的责罚,都亲自批阅,吃的饭食也不多。”司马懿对别人说:“诸葛孔明进食少而事务烦劳,这样下去能坚持多久呢!”
诸葛亮病重,于当月在军中去世。长史杨仪整顿军马撤退。百姓跑着去报告司马懿,司马懿率领军队追赶蜀军。姜维让杨仪调转战旗顺序,擂响战鼓,像是要向司马懿进攻。司马懿见状,收束军队后退,不敢继续进逼。于是杨仪结阵离去,进入斜谷之后才发丧。百姓为此编了一句谚语说:“死诸葛吓走活仲达(仲达是司马懿的字)。”司马懿听说后,笑着说:“这是我能够猜测活着的诸葛亮,不能够猜测死了的诸葛亮的缘故。”追到赤岸,没能追上蜀军,于是率领军队返回。
各路蜀汉军队返回成都,朝廷宣布大赦,赐诸葛亮谥号“忠武侯”。
当初,诸葛亮曾上表后主说:“我在成都有桑树八百株,薄田十五顷,除供给家人衣食之外,还能有一些富余,我也不另置产业来增加收入。我死的时候,一定不让家里有多余的绢帛和多余的钱财,而辜负陛下对我的恩情。”最后真的就像他所说的那样。蜀地民众请求为诸葛亮建庙祭祀,后主没有准许。百姓就逢时节自己在路上祭祀。