函谷关之战是前241年赵、楚、魏、韩、燕五国联合进攻秦国的战争。函谷关位于灵宝市区北15公里的王垛村。古代处于洛阳至西安故道中间的崤山至潼关段多在涧谷之中,深险如函,古称函谷。春秋时秦孝公从晋国手中夺取崤函之地,在此设置函谷关。此关关城东西长7.5公里、谷道仅容一车通行,素有“一夫当关、万夫莫开”之说。公元前241年,楚、赵、韩、魏诸国合纵攻秦,至此败还。
周慎靓王三年(公元前318年),在合纵攻秦之战中,魏、赵、韩、燕、楚五国联军在函谷关(今河南灵宝北)进攻秦军的作战。
秦国的东向扩张和张仪的连横策略,严重威胁到东方各国。二年,在齐、楚、燕、赵、韩等国支持下,魏王驱逐张仪,改用公孙衍为相,行“合纵”之策。次年,在公孙衍的推动下,魏、赵、韩、燕、楚五国共推楚怀王为纵长,组织联军进攻秦国。公孙衍还联络义渠国由侧背进攻秦国,配合联军。秦送“文绣千匹,好女百人”(《战国策·秦策二》)给义渠,以缓其威胁,然后发兵于函谷关迎战。联军因各有所图,步调不一。楚、燕两国暂时受秦威胁不大,态度消极。只有魏、赵、韩三国军队与秦军交战,被击败。联军向东撤退,至修鱼(今河南原阳西南)。同年,义渠君认为秦送厚礼实是暂时策略,秦国强大终对己不利,便乘五国攻秦之机,出兵袭击秦国李帛。秦军一支仓促迎战,大败于此。然而,这一战并未影响全局。四年(前317年),秦遣庶长樗里疾率军出函谷关反击韩、赵、魏三国联军,于修鱼大败联军,斩杀其主力韩军8.2万人。联军再败退观泽(今河南清丰南)。秦军追至观泽再败韩军,俘虏韩将鲮(一作鲠)申差。关东诸国大为震恐。
关于此战《史记·卷六·秦始皇本纪》记载为(秦王政)六年,韩、魏、赵、卫、楚共击秦,取寿陵。秦出兵,五国兵罢。《史记·卷四十三·赵世家》记载为(赵悼襄王)四年,庞暖将赵、楚、魏、燕之锐师,攻秦蕞,不拔。《史记·卷四十·楚世家》记载为(楚考烈王)二十二年,与诸侯共伐秦,不利而去。而《史记·卷七十八·春申君列传》则记载为攻秦至函谷关。梁玉绳所著《史记质疑》认为联军中无卫国,取寿陵也记载有误。而杨宽认为蕞位于陕西省临潼县北,已经深入秦国境内,五国联军没有能力攻到此地,应以《楚世家》和《春申君列传》的记载为准。
函谷关之战是战国时期最后一次诸侯合纵攻秦之战,尽管庞暖富于智谋,又善于纵横之术,但最终无功而返。从此,六国更加无法抵御秦国的兼并,秦国最终统一六国,建立秦朝。