英國青年亞瑟就讀於壹所意大利大學,他父母雙亡,同父異母的兩個哥哥掌握了家產,對他冷淡排斥,大嫂裘麗婭更是視他為眼中釘。惟壹能給他以關心和安慰的只有青梅竹馬的女伴瓊瑪和愛他如子的蒙太裏尼神父。
任意大利比薩神學院院長的蒙太裏尼神父是亞瑟家的舊交,學識淵博,品行高尚,亞瑟非常崇敬和信任他。在壹個悶熱的夏夜,亞瑟和蒙太裏尼談心時向他透漏了自己想參加大學裏為反抗奧地利統治、解放意大利二成立的秘密團體“青年意大利”的打算。深知其危險性的蒙太裏尼十分擔心,勸說亞瑟和自己壹起去阿爾卑斯山采集標本,好找機會說服亞瑟改變計劃。然而,雖然他們渡過了壹個愉快的假期,蒙太裏尼的願望並沒有實現。
不久,蒙太裏尼被天主教會任命為阿平寧山區的主教,這意味著他將離開亞瑟,而新來的接替他的卡爾狄神父又讓人難以信任。由於擔心亞瑟的安危,蒙太裏尼很不願離開,他希望亞瑟挽留自己,但亞瑟不理解他的良苦用心,反而勸他上任,他只好憂心忡忡的離開。
瓊瑪與亞瑟在同壹所大學讀書,她也是“青年意大利”的積極擁護者,因此與這壹團體的領導人之壹波拉交往逐漸頻繁。這使亞瑟心生妒忌,單純的他在懺悔時受卡爾狄神父的欺騙,講出了青年意大利黨的壹些活動情況,還說出了波拉的名字。不久,他和波拉便被奧地利軍警逮捕。在獄中,亞瑟經受住了種種折磨,拒不招供,最後在哥哥的幹預下被釋放出獄。當他在獄吏口中得知是卡爾狄出賣了他時,心靈受到極大的刺激,對偽善的宗教產生了懷疑。前來迎接他出獄的瓊瑪誤以為是亞瑟出賣了同誌,打了他壹個耳光後憤然離去。
傷心絕望的亞瑟剛回到家裏便又遭受了壹次沈重的打擊,企圖將他趕出家門的嫂子告訴他壹個隱藏已久的秘密:亞瑟是她母親和蒙太裏尼的私生子!這個消息猶如晴天霹靂,擊碎了亞瑟對人世、對宗教的所有美好回憶,他砸碎了家裏的耶穌神像,留下了壹份遺書,最後藏身到壹艘開往南美洲的船上,去了巴西。
13年之後,新即位的教皇為了收買人心,對政治犯頒布了大赦令,自由主義熱潮席卷了意大利。在南美已漂泊數年的亞瑟歷盡磨難,在形體、外貌方面都有了很大的的變化,唯有思想深處解放意大利、反對教會的信念沒有改變。他在旅居法國期間化名為列瓦雷士,以“牛虻”為筆名,以筆墨為武器繼續著與反動勢力的鬥爭。這時他應幾位意大利名流的邀請回到意大利,為他們寫作諷刺時政的文章。在壹個偶然的場合,瓊瑪見到了他,他的心情難以平靜。因為從他身上,她仿佛看到了自己年輕時的愛人亞瑟的影子。
瓊瑪當年在看到亞瑟遺書時深受打擊,認為是自己害了亞瑟,久久不能原諒自己。現在,她渴望牛虻就是亞瑟,並壹次次的進行試探,但牛虻感於過去的痛苦,壹直不願開口承認。
牛虻的諷刺文章犀利甚至刻毒,對敵人毫不留情。新任的紅衣主教蒙太裏尼以其謙和的風度和無可非議的德行贏得了許多人的好感,但牛虻仍然撰文無情的攻擊他,這使很多人都不能理解。
牛虻不願只是做紙上談兵的鬥爭,他壹邊寫作,壹邊組織起義。餵準備起義,他到阿平寧山區去偷運軍火,被密探發現。槍戰中他本可以逃掉,卻因蒙太裏尼的突然出現而在壹時猶豫中被捕。牛虻在獄中見到了蒙太裏尼,與之相認,要求他做出選擇:要麽脫離教會,與自己***同戰鬥,要麽繼續做教會忠實的奴仆,看著自己走向死亡。蒙太裏尼勸服不了牛虻,經過壹番痛苦的思想煎熬,他最終選擇了後者。
牛虻堅強不屈的精神感動了獄吏,他們自願帶信給瓊瑪。在信中牛虻終於原諒了瓊瑪,承認自己就是亞瑟,並向他她表達了始終不渝的愛情。牛虻英勇赴死後,喪子之痛和深深的悔恨摧毀了蒙太裏尼的意誌,他在復活節作完瘋狂的演講之後,黯然辭別人世。