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).