姬昌食子是神话传说《封神榜》中的一个故事,是带有神话色彩的,所以真实性并不高。而这里的“子”,指的是姬昌的儿子伯邑考。史书上关于伯邑考的记载并不多,所以关于伯邑考的真实死因无从考证。
在《封神榜》中,伯邑考是死在朝歌的,当时姬昌被纣王软禁,伯邑考为了救父亲去了朝歌,但是纣王怕姬昌回到西岐之后会起兵造反,可是他又怕自己太过分会引起西岐的不满,这个时候妖妃苏妲己向纣王献计,把伯邑考杀了,用他的肉做成包子给姬昌吃。
如果姬昌不吃了,那就说明他是能人,便可以以此为借口杀了姬昌,但是如果姬昌不吃,那便说明他不是能人,就可以把他放回西岐了。所以为了大业,即使姬昌知道这个自己儿子的肉,还是把包子吃了下去。
其实姬昌在出发去朝歌之前,曾经对伯邑考说过,不管发生什么都不要去朝歌,因为他已经算出伯邑考会有此一劫了,可惜的是伯邑考并没有听姬昌的话,所以最后才落得了这样的结局。
在不同的影视剧中,对于这部分也有不同的演绎,但是核心只有一个,那就是姬昌为了天下,不得不吃了自己的儿子。