Dos jóvenes norteamericanas, Vicky (Rebecca Hall) y Cristina (Scarlett Johansson) van a Barcelona a pasar unas vacaciones de verano. Vicky es sensible, racional y tiene intención de casarse; Cristina es emocional y busca aventuras emocionantes; no sabe lo que quiere, sólo sabe lo que no quiere. En Barcelona, ambas se ven envueltas en una relación poco convencional con Juan Antonio (Javier Bardem), un carismático pintor vinculado emocionalmente a su tempestuosa ex-mujer, María Elena (Penélope Cruz).
Two friends on a summer holiday in Spain become enamored with the same painter, unaware that his ex-wife, with whom he has a tempestuous relationship, is about to re-enter the picture.