As Good As It Gets plot summary
Melvin Udall (Nicholson), a cranky, bigoted, obsessive-compulsive writer, finds his life turned upside down when neighboring gay artist Simon (Kinnear) is hospitalized and his dog is entrusted to Melvin. In addition, Carol (Hunt), the only waitress who will tolerate him, must leave work to care for her sick son, making it impossible for Melvin to eat breakfast. What develops is a weekend trip/triangle between these three individuals, and together they learn the true meaning of "the bright side of life".
