The actor beat Hollywood heavyweights Tom Hiddleston and Jude Law to the award. Accepting it, he said his role in the production at the National Theatre was one of the ‘most thrilling’ of his life.
He said: “All of us nominated in that category would agree it’s a lot easier to be recognised when you’ve got a decent part to play.”
Speaking backstage, Rory said he had been fortunate to have a part the audience identified with so strongly.
He said: “Iago has a great rapport with the audience and people love the villain and people go along with Iago for the ride.”
Rory also had a peerless year in television, starring in ITV drama Lucan as well as major roles in Channel 4 mass murder mystery Southcliffe and BBC2 sitcom Count Arthur Strong.
The star-studded Olivier Awards – which honour thes best theatre in London’s West End – at the Royal Opera House in Covent Garden attracted names including Dame Judi Dench, Tom Hiddleston and Gemma Arterton, who co-hosted with Stephen Mangan.
The best actress award went to Lesley Manville for Ghosts, who won ahead of nominees Dame Judi and Hayley Atwell.
Accepting her award – a bust of Sir Laurence Olivier – she joked: “Oh Larry, where have you been all my life?”