Naive Montana cowboy Duke Fergus ( John Wayne ) arrives in San Francisco and visits the notorious Barbary Coast. He becomes smitten with the lovely star attraction of the fanciest gambling hall, "Flaxen" Tarry ( Ann Dvorak ), the " Flame of the Barbary Coast ". He gets talked into gambling against the owner (and Flaxen's lover), card shark Tito Morell ( Joseph Schildkraut ). Predictably, Fergus gets cheated and loses all his money.
He sets himself to win Flaxen's affections and decides the best way to do it is to take over. He gets his friend Wolf Wylie ( William Frawley ) to teach him everything about gambling, including how to spot cheating. When he's ready, he sells all he owns and returns to the city to challenge Morell's rule of the Barbary Coast. He goes from casino to casino, challenging each one's resident poker champion to a heads-up game, starting with Morell. Duke wins every time.
Fergus then builds an opulent new gambling establishment, catering to the upper class. To make it a success, he needs to persuade Flaxen to come work for him, but she is initially not interested. Only when Morell offends her does she decide to accept Fergus's offer. And then the fireworks begin. Morell does not take the challenge lying down. In the midst of it all, the Great Earthquake of 1906 strikes, both Fergus' and Morell's businesses are destroyed, and Flaxon grievously injured. They rebuild and recover. Throw in a political battle, and someone gets the girl.
John Wayne as Duke Fergus
Ann Dvorak as Ann "Flaxen" Tarry
Joseph Schildkraut as Boss Tito Morell
William Frawley as Wolf Wylie
Virginia Grey as Rita Dane
Russell Hicks as Cyrus Danver, reformer and owner of the San Francisco Star newspaper
Jack Norton as Byline Conners, reporter for the San Francisco Star
Paul Fix as Calico Jim
Manart Kippen as Dr. Gorman
Eve Lynne as Martha, Morell's secretary
Marc Lawrence as Joe Disko, a card sharp who tries to cheat Duke
Butterfly McQueen as Beulah, Flaxen's maid
Rex Lease as Collingswood, a headwaiter
Hank Bell as Hank, cabby
Al Murphy as Horseshoe Brown