Dej sa začína v roku 1940 na malom gréckom ostrove Kefallénia, kde si svojím kľudným a pestrým životom žije krásna Pelagia (Penélope Cruz), ktorú jej otec, miestny lekár Jannis (John Hurt) vychoval k slobodnému rozhodovaniu a zodpovednosti. Je mu ľúto, že práve jeho dcéra sa zamilovala do jednoduchého rybára Mandrasa (Christian Bale) a je rozhodnutá si ho vziať. Plány ale naruší nečakaná udalosť, keď talianska armáda napadne Albánsko a Mandras odchádza spolu s ďalšími mladými mužmi bojovať na albánske hranice. Prvý útok sa im podarí odraziť, ale príchodom talianskych spojencov - nemeckých vojsk, je Grécko nútené kapitulovať. Na malebný ostrov tak prichádzajú talianske okupačné vojská. Medzi nimi aj jednotka delostrelcov, ktorá ešte nikdy nebojovala a vojenskú operáciu si mýli s prázdninami pri mori. Je to aj tým, že jej velí kapitán Corelli (Nicolas Cage), typický talian, milovník žien, hudby a života. Osud chcel, aby sa ubytoval v dome doktora Jannisa a spoznal utrápenú Pelagiu. Jej prvotné odhodlanie kapitána nenávidieť (veď ide o nepriateľa), sa zmenilo na podmanivú lásku. Pelagia a ani Corelli ešte netušia, že návrat strateného Mandrasa nie je to najhoršie, čo ich ešte čaká.