Ende der 1940er Jahre verliebt sich Seretse Khama (David Oyelowo), der Prinz des afrikanische Staates Botswana, auf einer Englandreise in die Londoner Büroangestellte Ruth Williams (Rosamund Pike). Aus einer anfänglichen Romanze entwickeln sich schnell Heiratspläne, was in der jeweiligen Heimat der beiden Liebenden für einen Aufschrei in der Bevölkerung sorgt.
Sir John Lindsay (Matthew Goode) ist Captain der königlichen Marine. Als er Vater einer Tochter wird, bittet er seinen Onkel Lord Mansfield (Tom Wilkinson), auf das Kind aufzupassen, während er selbst auf See ist. So wächst das Baby schließlich im Haushalt der adligen Mansfields auf – und zu einer Schönheit mit dem Namen Dido Elizabeth Belle ...