Gil (Owen Wilson), a successful but distracted Hollywood screenwriter, and his fiancée, Inez (Rachel McAdams), are in Paris, vacationing with Inez's wealthy, conservative parents (Mimi Kennedy, Kurt Fuller). Gil is struggling to finish his first novel, which is about a man who works in a nostalgia shop, but Inez and her parents are critical and dismissive of Gil's desire to give up his lucrative Hollywood career to write it. While Gil is considering moving to the city, Inez is intent on living in Malibu. By chance, they are joined by Inez's friend Paul (Michael Sheen), a pseudo-intellectual who speaks with great authority but little actual accuracy on the history and art of the city. Inez idolizes him, but Gil, who is an ardent admirer of the Lost Generation, finds him insufferable.
Paul and his wife Carol (Nina Arianda) invite Inez and Gil to go dancing. Inez accepts but Gil declines and chooses to return to the hotel through the streets of Paris, eventually becoming lost. As he stops, bells chime midnight and an antique car pulls up, and the passengers dressed in 1920s clothingurge Gil to join them. They go to a bar, where Gil comes to realize that he has been transported to the 1920s, an era he admires and idolizes in the novel he is writing. He encounters Cole Porter (Yves Heck), Josephine Baker (Sonia Rolland), and Zelda and F. Scott Fitzgerald (Alison Pill and Tom Hiddleston), who take him to meet Ernest Hemingway (Corey Stoll). Hemingway agrees to show Gil's novel to Gertrude Stein (Kathy Bates), and Gil goes to fetch his manuscript from his hotel. However, as soon as he leaves the bar, he finds he has returned to 2010.
Gil attempts to bring Inez to the past with him the following night, but while they wait, she gets bored, and peevishly returns to the hotel. Just after she leaves, the clock strikes midnight and the car pulls up again, this time with Hemingway inside it. He takes Gil to meet Gertrude Stein, who agrees to read his novel and introduces him to Pablo Picasso (Marcial Di Fonzo Bo) and Picasso's mistress Adriana (Marion Cotillard), a beautiful student of couture to whom Gil is instantly attracted. The next day, back in 2010, Gil encounters Picasso's painting of Adriana at a museum, and recites much information about its creation, which annoys Paul (because it contradicts much of what he had been saying) and Inez becomes embarrassed, because she cannot appreciate what he is saying and believes Paul.
Over the next few days, Gil spends each night in the past. His late-night wanderings frustrate Inez, who cannot understand his interest in Paris or his desire to write a novel, and arouse the suspicion of her father, who hires a detective (Gad Elmaleh) to follow Gil. This proves unsuccessful, as the detective attempts to follow the car and winds up lost in Versailles during the era of Louis XIV.
Gil spends increasing amounts of time with Adriana, who leaves Picasso and has a brief dalliance with Hemingway. Gil realizes that he is falling in love with her, leaving him conflicted and confused. He confides his predicament to Salvador Dalí (Adrien Brody), Man Ray (Tom Cordier) and Luis Buñuel (Adrien de Van), but being surrealists they consider his position to be totally normal and see nothing strange about his coming from the future.
While Inez shops for furniture in the Marché aux puces (flea market) on the outskirts of Paris, Gil meets Gabrielle (Léa Seydoux), an antiques dealer who shares his fondness for the twenties and the music of Cole Porter. Gil later discovers Adriana's diary from the 1920s in a book stall on the Seine and finds out that she was in love with him. Reading that she dreamt of receiving a gift of earrings from him and then making love to him, Gil attempts to steal a pair of earrings from Inez to give to Adriana but is thwarted by Inez's early return from a trip.
Gil purchases earrings for Adriana and, returning to the past, confesses his love for her. As they kiss, a horse and carriage appears. They are invited inside by a richly-dressed couple and are transported back to the Belle Époque, an era Adriana considers Paris's Golden Age. They are taken to the famous Maxim's Paris restaurant, and meet Henri de Toulouse-Lautrec (Vincent Menjou Cortes), Paul Gauguin (Olivier Rabourdin) and Edgar Degas (François Rostain). When Gil asks what they thought the best era was, the three determine that the greatest era was the Renaissance. The enthralled Adriana is offered a job designing ballet costumes, and proposes to Gil that they stay, but Gil realizes that despite the allure of nostalgia, it is better to accept the present for what it is. Adriana elects to stay in the past, and they sadly part ways.
Gil retrieves his novel from Gertrude Stein, who praises his progress as a writer but questions why the main character has not realized that his fiancée (based on Inez) is having an affair with a pedantic character based on Paul. Gil returns to the present and confronts Inez. She admits to sleeping with Paul but claims that it can be forgotten when they return to California. Gil breaks up with Inez and decides to remain in Paris. Taking a walk at midnight, he unexpectedly meets Gabrielle, and offers to walk her home.