Americans Vicky (REBECCA HALL) and Cristina (SCARLETT JOHANSSON) have been friends since college, but they couldn't be more different. While Vicky longs for an ordered life and is engaged to businessman Doug (CHRIS MESSINA), Cristina is only certain of what she doesn't want, and that's a conventional life. Both are spending the summer in Barcelona staying with Judy (PATRICIA CLARKSON) and Mark Nash (KEVIN DUNN) who take them to an art gallery where they spot local painter José Antonio (JAVIER BARDEM).
Word is that his then-wife tried to kill him, a tidbit that draws Cristina's interest, particularly when they spot him in a restaurant later that night. The attraction is mutual, as the painter introduces himself to the two friends, offering them a weekend trip of wine drinking and love making.
Vicky is appalled at the blunt approach, but that only makes him even more enticing to Cristina who convinces her friend to tag along for the weekend jaunt. But she ends up getting food poisoning before they consummate the act, thus forcing Vicky to play tourist with José and eventually find him attractive. Influenced by wine, she sleeps with him, a development that leaves her confused about Doug who's arrived in Barcelona hoping to marry her there in a civil ceremony before a traditional wedding back home.
Cristina eventually ends up dating and then moving in with José, but that new relationship is threatened upon the return of his ex-wife, Maria Elena (PENELOPE CRUZ), who's just tried to kill herself. From that point on, Cristina tries to deal with her staying with them, all as Vicky tries to deal with her feelings toward him as well.