He returned to The Old Vic to play Ebenezer Scrooge in Matthew Warchus' production of A Christmas Carol (adapted by Jack Thorne) in 2017 and in 2018 returned to the National Theatre to play King Berenger in Patrick Marber's new adaptation of Eugene Ionesco's Exit the King. In 2016, Ifans played Fool alongside Glenda Jackson in Deborah Warner's production of King Lear, at The Old Vic. In 2006 he returned to the London stage in Michael Grandage's production of Don Juan in Soho at the Donmar Warehouse. He appeared at the Donmar Warehouse in 2003's Accidental Death of an Anarchist. Ifans' early stage work included Hamlet at Theatr Clwyd, A Midsummer Night's Dream at the Regent's Park Theatre, and Under Milk Wood and Volpone at the National Theatre. He studied acting at the Guildhall School of Music and Drama in London, where he graduated in 1997. After leaving school, he presented Welsh-language television programmes on S4C. He attended acting classes at Theatr Clwyd. He attended Ysgol Maes Garmon, a Welsh medium secondary school in Mold, where he took his O levels and A levels.
He grew up in Ruthin, where he received his primary education at Ysgol Pentrecelyn and was raised speaking Welsh as his first language. His younger brother, Llŷr Ifans, is also an actor. Ifans was born Rhys Owain Evans in Haverfordwest on 22 July 1967, the son of nursery school teacher Beti-Wyn (née Davies) and primary school teacher Eurwyn Evans.