Albert Nobbs (Glenn Close) ist eigentlich eine Frau. Doch am Ende des 19. Jahrhunderts ist es in Irland nicht möglich als solche zu arbeiten und ein selbstbestimmtes Leben zu führen. Seit bereits 30 Jahren lebt Albert das Leben eines Mannes und verdient ihr Geld als Butler in Dublins vornehmsten Hotel. Ihre Pläne, sich mit ihrem Ersparten selbstständig zu machen, drohen jedoch zu scheitern, als sie sich in den Maler Hubert Page (Janet McTeer) verliebt.
Als Hubert hinter Alberts Geheimnis kommt, überrascht er sie nicht nur mit seinem Versprechen Stillschweigen zu bewahren. Er gesteht der erstaunten Albert, ebenfalls eine Frau zu sein – und verheiratet in eine andere Frau (Bronagh Gallagher). Auch Albert beschließt sich zu verheiraten und umwirbt daraufhin das Zimmermädchen Helen (Mia Wasikowska). Ihr Liebhaber Joe Mackins (Aaron Taylor-Johnson) wittert darin eine Chance, an Alberts Vermögen zu gelangen.