The 25-year-old hit 116 runs from 64 balls to guide England to victory over Sri Lanka in the Super 10 stage of the World Twenty20 in Bangladesh.
England, who were given a total of 190 to chase, were 0-2 until Hales led his side to a six-wicket victory in Group One with four balls remaining.
Speaking about becoming the first Englishman to reach three figures, Hales said after the match: "I'm absolutely buzzing. Centuries in this format don't come along very often and I've got out in the nineties a couple of times so this is brilliant.
"Eoin Morgan made my job a hell of a lot easier by hitting those sixes in the middle of the innings."
England lost their opening World T20 clash against New Zealand on Saturday.