C.S. Lewis (Anthony Hopkins), profesor de literatura en Oxford, es también un escritor de gran reputación. Es soltero y vive con su hermano de forma casi monacal, totalmente desconectado de la realidad, encerrado en el mundo de la enseñanza y los libros. Un día irrumpe en su vida Joy Gresham (Debra Winger), una poetisa estadounidense divorciada y gran admiradora suya, que está de viaje por Inglaterra con su hijo (Joseph Mazzello) y desea fervientemente conocerlo en persona.