This multi-layered drama centres around Paul Kemp (Johnny Depp), a struggling author who hasn't been able to sell a book. He gets a job at a newspaper in San Juan, Puerto Rico. There, he meets Sala (Michael Rispoli), who gets him acclimatised and tells him he thinks the newspaper will fold soon. Kemp checks into a hotel and while idling about on a boat in the sea, meets Chenault (Amber Heard), who is skinny-dipping while avoiding a Union Carbide party. Kemp is immediately smitten with her.
Kemp and Sala immediately go on a drinking binge, which earns Kemp the enmity of his editor, Lotterman (Richard Jenkins). Kemp also meets Moburg (Giovanni Ribisi), a deadbeat reporter who can't be fired. While waiting for an interview, Kemp meets Sanderson (Aaron Eckhart), a freelance realtor, who offers him a job writing ads for his latest venture. Sanderson is engaged to Chenault, who pretends not to know Kemp.
Later, Kemp moves in with Sala, who also rooms with Moburg. Kemp begins to see the poverty of San Juan, but Lotterman doesn't want him to write about it, as it's bad for tourism. Moburg returns with leftover filters from a rum plant; they contain high-proof alcohol. Moburg has been fired, and rants about killing Lotterman.
Kemp visits Sanderson and spies him making love to Chenault. He meets Zimburger (Bill Smitrovich) and Segarra (Amaury Nolasco), who want him to help with a real estate scam. Later, Sala and Kemp go to a restaurant and berate the owner for refusing them service; Kemp senses that the owner wants to kill them, and he and Sala beat a hasty retreat, pursued by angry locals. The police arrive and break up the fight, then throw Sala and Kemp in jail. Sanderson bails them out.
The next day, Kemp meets with Sanderson's crew, who tell him that the US military is relinquishing the lease on some prime real estate, and is asked to pick up Chenault from her house. Kemp and Chenault share a moment, but resist temptation.
Zimburger takes Kemp and Sala to see the island property, then they head to St. Thomas for Carnival. Kemp finds Chenault, and they wind up on Sanderson's boat. Sanderson berates Kemp for involving Sala in the deal. At night, they go to a club, and a drunk Chenault dances with local men to provoke Sanderson, with whom she has been fighting. The black owners of the bar beat up Sanderson and throw Kemp out of the club. Chenault is left behind at the bar, but where she ends up is not known.
The next day, Chenault is gone, and Sanderson tells Kemp that their business arrangement is over. When Sala and Kemp return home, Moburg tells them that Lotterman has left and that the paper will go out of business. He also sells them hallucinogens, which they take. Kemp has an epiphany while under the influence, and resolves to write an exposé on Sanderson's shady deals.
Lotterman returns, but won't publish Kemp's story. Chenault shows up at Kemp's place, after Sanderson disowns her. Out of spite, Sanderson withdraws his bail, meaning that Kemp and Sala are now wanted by the police. Moburg also tells them that Lotterman has closed the paper. Kemp decides to print a last issue, telling the truth about Lotterman and Sanderson, as well as the stories Lotterman declined.
To make money to print the last edition, Kemp, Sala and Moburg place a big cockfighting bet. They visit Papa Nebo (Karimah Westbrook), Moburg's hermaphrodite witch doctor, to lay a blessing on Sala's prize cockerel. They win, but return to the office to find that the printing presses have been confiscated.
Kemp continues his quest, leaving Puerto Rico on a sailboat. The end credits explain that Kemp makes it back to New York, marries Chenault, and becomes a successful journalist, having finally found his voice as a writer.