Gambler Nathan Detroit (Frank Sinatra) seeks to organize an unlicensed crap game, but the police, led by Lieutenant Brannigan (Robert Keith), are "putting on the heat." All the places where Nathan usually holds his games refuse his entry due to Brannigan's intimidating pressure. The Biltmore garage is the only venue where Nathan can hold the game, but its owner requires a $1,000 security deposit, which Nathan doesn't have. Adding to his problems, Nathan's fiancée, Miss Adelaide (Vivian Blaine), a nightclub singer, wants to bring an end to their 14-year engagement and get married. She wants him to go straight, but he only is good at organizing illegal gambling.
Then Nathan spots an old acquaintance, Sky Masterson (Marlon Brando), a gambler willing to bet on virtually anything and for high amounts. To win the $1,000 security deposit, Nathan bets Sky that he cannot take a girl of Nathan's choosing to dinner in Havana, Cuba. The bet seems impossible for Sky to win when Nathan nominates Sergeant Sarah Brown (Jean Simmons), a sister at the Save a Soul Mission, which opposes gambling.
To approach Sarah, Sky pretends that he is a gambler who wants to change. Sky suggests a bargain. He will get a dozen sinners into the Mission for her Thursday night meeting in return for her having dinner with him in Havana. With General Matilda Cartwright (Kathryn Givney) threatening to close the Broadway branch for lack of participation, Sarah has little choice left and agrees to the date.
Meanwhile, confident that he will win his bet with Sky, Nathan has gathered together all the gamblers, including a visitor that Harry the Horse (Sheldon Leonard) has invited: Big Jule (B.S. Pully), a mobster. When Lieutenant Brannigan appears, Benny Southstreet (Johnny Silver) covers it up by claiming that they are celebrating the fact that Nathan will marry Adelaide. Nathan is shocked by this but is forced to play along. Later he realizes he has lost his bet and must marry Adelaide.
Over the course of their short stay in Cuba, Sky manages to break down Sarah's social inhibitions with the help of some Bacardi-spiked "milkshakes," and they begin to fall in love. They return to Broadway at dawn and meet the Save a Soul Mission band, which has been parading all night on Sky's advice. At that moment, police sirens can be heard, and before they know it, the gamblers led by Nathan Detroit are hurrying out of a back room of the Mission, where they took advantage of the empty premises to hold the crap game.
The police arrive too late to make any arrests, but Lieutenant Brannigan finds the absence of Sarah and the other Save a Soul members too convenient to have been a coincidence. He implies that it was all Sky's doing. Sarah is equally suspicious that Sky has had something to do with organizing the crap game at the Mission, and she angrily takes her leave of him, refusing to accept his denials.
Sky still has to make good his arrangement with Sarah to provide sinners to the Mission. Sarah would rather forget the whole thing, but Uncle Arvide Abernathy (Regis Toomey), who acts as a kind of father figure to her, warns Sky that "If you don't make that marker good, I'm going to buzz it all over town you're a welcher."
Nathan has continued the crap game in a sewer. With his revolver visible in its shoulder holster, Big Jule, who has lost all his money, forces Nathan to play against him while he cheats, cleaning Nathan out. Sky enters and knocks Big Jule down, and removes his pistol. Sky, who has been stung and devastated by Sarah's rejection, lies to Nathan that he lost the bet about taking her to Havana and pays Nathan the $1,000. Nathan tells Big Jule he now has money to play him again, but Harry the Horse says that Big Jule can't play without cheating because "he cannot make a pass to save his soul." Sky overhears this, and the phrasing inspires him to make a bold bet: He will roll the dice, and if he loses, he will give all the other gamblers $1,000 each; if he wins, they are all to attend a prayer meeting at the Mission.
The Mission is near closing when suddenly the gamblers come parading in, taking up most of the room. Sky won the roll. They grudgingly confess their sins, though they show little sign of repentance. Nicely-Nicely Johnson (Stubby Kaye) however, recalling a dream he had the night before, seems to have an authentic connection to the Mission's aim, and this satisfies everyone.
When Nathan tells Sarah that Sky lost the Cuba bet, which she knows he won, she hurries off to make up with him.
It all ends with a double wedding in the middle of Times Square, with Sky marrying Sarah, and Nathan marrying Adelaide.
Marlon Brando as Sky Masterson
Jean Simmons as Sister Sarah Brown
Frank Sinatra as Nathan Detroit
Vivian Blaine as Miss Adelaide
Stubby Kaye as Nicely-Nicely Johnson
B.S. Pully as Big Jule
Johnny Silver as Benny Southstreet
Robert Keith as Lieutenant Brannigan
Sheldon Leonard as Harry, the Horse
Danny Dayton as Rusty Charlie
George E. Stone as Society Max
Regis Toomey as Arvide Abernathy
Kathryn Givney as General Matilda Cartwright
Veda Ann Borg as Laverne
Kay E. Kuter as Calvin
Renee Renor as Cuban Singer
The Goldwyn Girls as the Hot Box Girls, including June Kirby, Pat Sheehan and Larri Thomas.
Larri Thomas plays the seductive dancer who dances with Marlon Brando in the Cuba sequence
based on the 1950 Broadway musical by composer and lyricist Frank Loesser, with a book by Jo Swerling and Abe Burrows, which, in turn, was loosely based on "The Idyll of Miss Sarah Brown" (1933) and "Blood Pressure", two short stories by Damon Runyon.