Vicky (Rebecca Hall) e Cristina (Scarlett Johansson) são amigas e passam férias em Barcelona. Vicky está noiva e é sensata nas questões do amor. Cristina é pura emoção e movida a paixão. Durante uma exposição de arte, as duas se encantam pelo pintor Juan Antonio (Javier Bardem), que as convida mais tarde, durante um jantar, para uma viagem. O que elas não sabiam é que o galante sedutor mantém um relacionamento problemático com sua ex esposa Maria Elena (Penélope Cruz). E as coisas ainda ficam piores porque as duas, cada uma de sua forma, se interessam por ele, dando início a um complicado "quadrado" amoroso.