It's the 1920s and Charles Ryder (MATTHEW GOODE), who lives with his widowed father, Edward (PATRICK MALAHIDE), in a humble home in a working class area of London, is headed off to Oxford University. There, he meets and is quickly befriended by Sebastian (BEN WHISHAW), the youngest son of Lord (MICHAEL GAMBON) and Lady Marchmain (EMMA THOMPSON). Now divorced, Lord Marchmain lives in Venice with his lover, Cara (GRETA SCACCHI), while Lady Marchmain rules the roost at Brideshead, the family's ancestral home.
Having fallen in love with Charles, Sebastian wants to keep him all to himself, but can't prevent him from meeting his mother, older brother Bridley (ED STOPPARD), his younger sister Cordelia (FELICITY JONES) and her older sibling, Julia (HAYLEY ATWELL), who quickly draws both Charles' eye and heart. But Lady Marchmain will have no part of that, mostly due to her strong religious beliefs that mean Julia can only marry another Catholic, and not an atheist like Charles.
However, she keeps the young man around mainly to watch over Sebastian whose lifestyle, including his heavy drinking, is highly troubling to her. That, however, leads to a trip to Venice to visit Lord Marchmain and Cara, which allows for Charles and Julia's feelings to come to a head. When Sebastian catches them, that forever changes the dynamics of Charles' relationships with the various family members.
With time passing, Julia finds herself with opportunistic businessman Rex Mottram (JONATHAN CAKE) while Charles ends up with Celia (ANNA MADELEY). Yet, the fact that they can't hide their feelings leads to developments the young man and the Marchmain clan never could have imagined.