Vicky Cristina Barcelona menceritakan persahabatan dua orang perempuan, Vicky dan Cristina yang memiliki kepribadian dan pandangan tentang cinta yang sangat berbeda.
Suatu hari Vicky (Rebecca Hall) dan Cristina (Scarlett Johansson) mendapatkan kesempatan untuk berlibur di Barcelona untuk melihat pameran lukisan.
Cristina yang tertarik pada seorang pelukis lokal bernama Juan Antonio (Javier Bardem) akhirnya mengiyakan ajakan tersebut.
Vicky yang tidak mau melepas Cristina pergi berdua saja dengan Juan, terpaksa ikut.
Saat di Barcelona, tepatnya di Oviedo, ketertarikan Cristina terhadap Juan sangat terlihat lantaran ia sangat berupaya mendekati sang pelukis tersebut.
Sementara Vicky berusaha menjaga jarak karena ia akan segera dilamar oleh kekasihnya Doug (Chris Messina) yang bekerja di Amerika.
Namun, tiba-tiba Cristina jatuh sakit, sehingga Vicky lebih banyak menghabiskan waktu bersama Juan.
Sampai akhirnya Vicky tertarik dengan Juan dan tidak bisa menahan nafsunya untuk bercinta dengan pujaan hati sahabatnya sendiri.
Saat Cristina sembuh, kondisi menjadi runyam bagi Vicky lantaran ia harus merahasiakan perasaannya terhadap Juan di depan sahabatnya sendiri.
Tidak hanya itu, Vicky juga dihajar rasa bersalah terhadap kekasihnya yang segera melamarnya.