The 38 year-old English actor was chosen by Esquire magazine. Musician John Legend took second place, while actor Terrence Howard was third on the list.
The magazine also named a few of the worst dressed, which included Axl Rose, Marc Anthony, and the 11 month-old son of singer Britney Spears, Sean Preston Federline.
The list will appear in the September issue, which will be on newsstands on Tuesday.