秦武王死后没有儿子,所以只能立秦武王的弟弟。但立谁也是个问题,因为秦惠文王有好几个儿子。秦惠文王的王后惠文后有三个儿子:秦武王、公子壮和公子雍。惠文王的妾也就是后来的宣太后也有三个儿子:公子稷、公子芾和公子悝。惠文后想立公子壮,而宣太后想立公子芾。这时赵武灵王派人把在燕国做人质的公子稷接回秦国继位。赵武灵王的意图很明显,对于宣太后来说也无所谓,反正都是自己的儿子。于是在两股势力的运作下,公子稷继位,就是秦昭襄王,即有名的秦昭王。秦昭王刚继位时年纪还小(其实不小,已经十九岁了),所以由他妈宣太后主政。宣太后是楚国人,姓芈,叫芈八子。宣太后大力启用娘家人,一个是她同母异父的弟弟叫魏冉(穰侯),还有一个是她的弟弟芈戎(华阳君)。这两个人加上她的另两个儿子公子芾(泾阳君)和公子悝(高陵君),号称“四贵”。
魏冉这个人比较有能力,他先帮助宣太后解决掉了惠文后和她的儿子们,然后支持宣太后主持朝政,自己则掌握大权。宣太后主政的时间很长,长达三十多年。宣太后很与众不同,公元前307年,楚怀王攻打韩国,围困韩国雍氏城五个月,韩国派人向秦国求救,但秦国不出兵。后来秦国派使者尚靳来。尚靳说“唇亡齿寒”的道理。宣太后说:“来了这么多使者,只有尚先生的话有道理。”于是召见尚靳,对他说:“我服侍先王的时候,先王把大腿压在我身上,我觉得很重,但他把整个身体都压在我身上,我却不觉得重了。现在要救韩国,如果兵不多,粮不够,救不了。想要解救韩国需要日费千金,对我来讲有什么好处呢?”清朝人王士祯在《池北偶谈》中说:“此等淫亵语,出于妇人之口,入于使者之耳,载于国史之笔,皆大奇!”不但在当时令人咂舌,就算放到今天也说不出口。还有秦昭王继位时,义渠王来祝贺,宣太后趁机和他私通,后来她把义渠王引入宫中干掉了,义渠国也因此被灭。秦国在义渠的地方设了陇西、北地、上郡三个郡,这样秦国的后方更加稳定了。有人说她的功劳可以跟司马错、张仪相比。宣太后有个男宠叫魏丑夫,她死前下旨,要魏丑夫殉葬。魏丑夫很害怕,找到一个人叫庸芮(rui四声)。庸芮就对宣太后说您说人死之后能知道人世间的事情吗?宣太后说不能,庸芮说既然人死后没有知觉,您为什么要把自己心爱的人置于死地呢?如果死人有知觉,那么先王肯定恨死您了,您怎么还敢和魏丑夫有私情呢?宣太后这才撤销了这条命令。
公元前301,发生了“垂沙之战”。当时楚国和齐国建立了联盟关系。秦昭王继位后,用厚礼贿赂楚国。楚怀王就到黄棘和秦昭王订立盟约:秦国把上庸这个地方还给楚国,楚国同秦国结盟。齐国一看,好啊!你楚国背叛我,就联合韩国、魏国攻打楚国。楚怀王只好派太子到秦国做人质,秦国出兵帮助楚国,三国才退兵。没想到楚国太子在秦国和一位大夫斗殴,把这位大夫给杀了,然后逃回了楚国。这下秦国不开心了,反而联合齐国、韩国、魏国一起攻打楚国。楚怀王一面派昭睢抵挡秦国,一面派大将唐眜抵挡齐、韩、魏三国。唐眜率军和三国军队在泚水边列阵。齐国大将匡章派人打探水情,有个在河边放牧的人就告诉他,楚国人重兵把守的地方,水很浅,兵少的地方水很深。匡章于是派精兵在晚上涉水而过偷袭,在垂沙这个地方大败楚军,楚怀王不得不让太子到齐国做人质来求和。第二年,秦国又派华阳君攻打楚国,斩首三万。楚国因此元气大伤。
公元前299年,秦昭王请楚怀王到武关会盟。昭睢劝他不要去,人家都把你耍成这样了,还去上当吗?屈原也劝楚怀王。可楚怀王不听,偏要去。去了就被人家扣下,说想回去就拿土地来换。这时候楚怀王倒挺有骨气,说要土地没门。楚怀王破罐子破摔,秦国人也没办法,只好扣着楚怀王。国不可一日无君,楚国人就把在齐国的太子接回来,立他为国君,就是楚顷襄王。这样一来楚怀王对秦国就没有利用价值了,秦昭王很生气,在公元前298年发兵攻打楚国,斩首五万,打下十多座城。过了一年,楚怀王从秦国跑了,跑到赵国,赵国不敢收留他。于是又跑到魏国,在魏国被秦军抓住了,押回秦国。这下看守更严了,又过了一年,楚怀王就在秦国忧愤而死。