Egoistyczny, cyniczny pisarz Melvin Udall (Jack Nicholson) mieszka w drogiej i modnej dzielnicy na Manhattanie. Stale dokucza sąsiadowi, homoseksualiście Simonowi (Greg Kinnear). Zwykle jada w lokalu, w którym obsługuje go kelnerka Carol (Helen Hunt). Kobieta cierpliwie znosi jego złośliwości i humory. Gdy pewnego dnia nie przychodzi do pracy, Melvin postanawia ją odnaleźć. Dowiaduje się, że zrezygnowała z posady ze względu na chorego synka, który wymaga stałej opieki. Postanawia jej pomóc.