故事發生在紐約,作家梅爾文烏達爾是個怪脾氣的老頭,他沒有家庭也沒有朋友,成天關在屋裏趕寫他的第62部長篇小說,哪怕有壹丁點兒騷擾都會令他大發雷庭。偏偏他的鄰居西蒙比肖普是個生性活潑的年輕同性戀畫家,於是免不了被梅爾文侮辱。梅爾文甚至把西蒙的愛犬扔進了垃圾筒,還當著西蒙的黑人畫商弗蘭克稱自己是三K黨。 梅爾文每天只出門壹次,到同家餐廳吃飯。這裏女招待的卡羅爾康奈莉是唯壹願意而且能夠為他服務的人。可能也是這個世界上他唯壹看得順眼的人。 離了婚的卡羅爾與兒子斯潘塞住在壹起,斯潘塞患有嚴重的哮喘病,這使得許多對卡羅爾有意思的男子知難而退。 不久,西蒙的住所遭到搶劫,西蒙身受重傷,住進醫院。弗蘭克強迫梅爾文收留照顧西蒙的小狗沃戴爾。令梅爾文自己都感到驚奇的是,他居然漸漸喜歡上了這只曾經被他扔進垃圾筒的小狗。梅爾文的心靈開始有了變化,他逐漸學會了幫助別人,他用自己的錢送斯潘塞去接受最好的治療。 後來尤德爾開車載自己討厭的“同性戀西蒙”去找父母幫助,並邀請卡羅爾同行。在途中梅爾文和卡羅爾的感情有了進壹步發展,梅爾文用壹句“妳讓我想成為更好的人(You make me wanna be a better man)”,讓卡羅爾感動不已。而西蒙則由於在旅途中發現了卡羅爾身材的藝術感,激發他的靈感,重新找回自信拿起他的畫筆,兩人成了好朋友。 旅途結束後,梅爾文、卡羅爾都覺得自己心裏有著對方,在磕磕碰碰之後,兩人終於走到壹起。