Jack Nicholson interpreta de forma magistral a Melvin Udall, un novelista de lengua afilada afincado en Manhattan que, víctima de un trastorno obsesivo-compulsivo, tiene sus rituales: cerrar la puerta con llave de determinada forma, encender y apagar la luz un número de veces preciso o utilizar una pastilla de jabón distinta cada vez que se lava las manos. Sin embargo, su rutina más preciada consiste en comer a diario en el Café 24, donde la única camarera que lo tolera (a duras penas) es Carol Connelly (Helen Hunt), quien tiene sus propios problemas criando a un hijo con asma crónica bajo la atenta mirada de su pragmática madre, Beverly (Shirley Knight).