距上一次的冒险已经过去11个年头,转眼间安迪(约翰·莫里斯 John Morris 配音)变成了17岁的阳光男孩。这年夏天,安迪即将开始大学生活,他必须将自己的房间收拾整齐留给妹妹。此前,伍迪(汤姆·汉克斯 Tom Hanks 配音)与巴斯光年(蒂姆·艾伦 Tim Allen 配音)等玩具一直期待安迪再和他们玩耍,但是随着岁月的流逝,他们被冷落在箱子里很久了。安迪十分珍惜这些童年的玩伴,于是准备将他们收在阁楼。谁曾想,妈妈却把玩具们当作废物扔到街道上。玩具们误解了安迪,于是愤然出走,宁可被捐赠到阳光之家幼儿园。 伍迪尽力劝解大家,却收效甚微,只得独自黯然离开。巴斯光年他们原本以为将重新回到往昔的快乐时光,不料却陷入一场阴谋之中……
波兰华沙有一个剧团,其中有一名演员Bronski(Tom Dugan 饰)极其擅长模仿德国纳粹领袖希特勒。Maria Tura(卡洛·朗白 Carole Lombard 饰)和Joseph Tura(杰克·本尼 Jack Benny 饰)是剧团里的一对夫妻,剧团最近正在上演《哈姆雷特》。演出间隙,Maria收到了一束鲜花,来自一个年轻的飞行员Stanislav Sobinski(罗伯特·斯塔克 Robert Stack 饰),趁着Joseph在舞台上念著名台词“to be or not to be”的时候,她安排Sobinski进了后台,两人情愫暗生。然而不久后,纳粹侵略波兰,Sobinski只能前往作战。Sobinski所在队伍的领导是Siletsky教授,Sobinski想让Siletsky帮忙带封信给Maria,然而Siletsky却连著名女演员Maria都不认识,于是Sobinski开始对Siletsky产生了怀疑。Sobinski为了追踪Siletsky又回到华沙。而另一方面,Maria却被两个纳粹士兵带去见Siletsky,Siletsky对Maria也是心生爱慕,更希望Maria成为纳粹在波兰的间谍。Maria借故逃回家,却在家中意外的碰到了Sobinski和她的丈夫Josef,这段三角关系该如何收场,他们又要如何联手对抗纳粹?