飞行员马克不愿沦为法西斯的一份子,由于在战争中救了敌军的一名飞行员而被通缉,成为了国家的罪人。更是因为诅咒变成了一只猪,他脱离了国家之后成了一个闲散的赏金猎人,把空贼打得落花流水。
他一直暗恋着从小一起长大的吉娜,但是因为兄弟情义,他多次促成自己的兄弟们和吉娜的婚姻,却将自己的爱恋深藏心底。而他不知道的是吉娜也一直喜欢他,当他终于从别人的口中知道这个秘密之后,却选择了逃避。他不愿去求证,因为那样会对不起他死去的兄弟。他一直只当自己是那只名叫波鲁克的久负盛名的猪,他甚至对这样的日子怡然自得,直到他遇到了那个叫做菲尔的女孩。
第一次见到她觉得她很可爱,然而知道她是飞行设计师之后却是不可置信,他毫不避讳地表示了对她技术的怀疑。然而她终是以天分和努力赢得了他的信任。造好飞机之后,菲儿执意要与波鲁克一同前往,去见证她的处女作首航。拗不过她的坚持,他终于将她带回了他的秘密基地,在那里遇到了埋伏的空贼们,原以为剑拔弩张的场面被菲儿一番真挚的话语化解了,但也欠下了一场以菲儿终身大事为赌注的比赛。
比赛前夜,菲儿从梦中醒来,看到坐在灯下的是一位俊朗的男人而不是那只叫做波鲁克的猪,她不由自主地喊出了他的名字,然而回过头来的还是那个猪头。她突然想起青蛙王子的故事,想要讲自己的初吻献给他,希望他能破除诅咒成为人类。没想到他却义正严辞地拒绝了,他比她还珍惜她的初吻,他希望她把初吻留给那个她最重要的人。她以睡不着觉为由缠着他讲故事,他便同她讲了那次失去兄弟的执行任务。
当他以为自己必死无疑的时候却进入了一个奇妙的世界,然而看到兄弟飞往极乐的时候,他终于害怕了,他大喊着叫他不要去,让他代替他去,他的兄弟与吉娜才结婚两天而已。若是他去了,吉娜该怎么办,可是他还是改变不了这样既定的事实,他宁愿自己代替兄弟去死,反正他也不愿活着看吉娜伤心,可是他还是活了下来。故事讲完了,菲儿动容地说因为他是好人,所以老天爷让他活了下来。菲儿终于爱上了他,给了他贴脸一吻。
终于迎来了期待已久的比赛这天,大批慕名而来的人来观看这场世纪之战。空中飞行的华丽比赛更像是波鲁克一个人的特技表演,不想杀人的他只是等待着对手耗尽子弹,然后结束比赛。然而等到对方子弹用完了之后,他才发现自己也无法发射子弹。无法角出胜负的两个男人竟向小孩子似得互扔东西,双双下了飞机之后更是大大出手,在对手告诉波鲁克吉娜的情谊之后,他忘了还手,然而最终两人还是双双倒下了,难决胜负。
吉娜赶来通知意大利舰队即将到达,她对倒在水中的波鲁克说难道又要辜负一个女孩吗?于是他站了起来赢得了比赛。
波鲁克将执意要跟他走的菲儿抱上了吉娜的飞机,他不想菲儿同自己这个通缉犯一起,在分开之际菲儿将自己的初吻终于献给了波鲁克,波鲁克捡起菲儿的帽子戴在了头上,对手还在忿忿不平地同他讲话,却发现波鲁克变回了马克,原来青蛙王子的故事是真的,马克的诅咒解除了,然而面对深爱自己的两个女人,最后的抉择已经成谜。