Born in Fort Madison, Iowa, O'Keefe was the son of Irish vaudevillians working in the United States. As a small child, he joined his parents' act and later wrote skits for the stage. O'Keefe started in films as an extra in the early 1930s and appeared in numerous films under the name Bud Flanagan. After a small but impressive role in Saratoga (1937), Clark Gable recommended O'Keefe to Metro-Goldwyn-Mayer, which signed him to a contract in 1937 and renamed him Dennis O'Keefe. His film roles were bigger after that, starting with The Bad Man of Brimstone (1938) opposite Wallace Beery, and the lead role in Burn 'Em Up O'Connor (1939).