Prospera (Helen Mirren) leeft op een verlaten eiland met haar dochter Miranda (Felicity Jones). Ze is verbannen uit haar hertogdom door haar broer en de koning van Napels. Voorzienigheid, geleid door de engel Ariel (Ben Wishaw) brengt haar vijanden in de buurt, en Prospera ontketent een storm die het schip doet stranden. Ze neemt Ferdinand, de zoon van de koning gevangen. Maar Ferdinand (Russell Brand) en Miranda worden verliefd op elkaar. Prospera’s broer en de koning dwalen intussen rond op het eiland en bedenken, samen met Caliban (Djimon Hounsou) – de slaaf van Prospera – een plan om Prospera te vermoorden.