It's London at the turn of the 20th century, and Beatrix Potter (RENÉE ZELLWEGER) is an unmarried, 32-year-old woman who still lives at home with her parents (BILL PATERSON & BARBARA FLYNN), and whose only constant companion is her older and prim chaperone, Miss Wiggin (MATYELOK GIBBS). That is, except for the fictitious animal characters that populate the children's books she's written, illustrated, and is trying to publish. Her parents think she's wasting her time and should find a husband, but Beatrix disagrees, and often converses with and imagines seeing those drawings coming to life.
Determined to succeed with her literary endeavor, Beatrix eventually meets with sibling publishers Harold Warne (ANTON LESSER) and Fruing Warne (DAVID BAMBER). They agree to represent her work, not because they think it will be successful, but since they see it as an opportunity to preoccupy their younger brother Norman (EWAN McGREGOR) and appease their mother Mrs. Warne (PHYLLIDA LAW). However, Norman takes his assignment seriously and soon has Beatrix's first work, Peter Rabbit, published. With his similarly unmarried and independent sister Millie (EMILY WATSON) befriending Beatrix, Norman ends up spending more time with her, eventually falling in love.
Yet, her parents are against the relationship as they see him below their social status. From that point on, she must contend with that, her growing love for Norman, and her eventual land ownership dealings with real estate agent William Heelis (LLOYD OWEN), a former childhood friend.