He has starred as Giacomo Casanova in the 2005 TV serial Casanova and Barty Crouch, Jr. in Harry Potter and the Goblet of Fire. In addition to his appearances on screen, Tennant has worked as a voice actor and has appeared in several stage productions of Shakespearean plays, most notably Hamlet. He also voices Angus in the 2017 Blue Sky Studios film, Ferdinand.
For Disney, he voiced Oscar's Brain in the Fish Hooks episode "Live at the Hamsterwood Bowl", Dread the Evil Genie in Jake and the Never Land Pirates, Igor the Door in Mickey Mouse Clubhouse, Huyang in Star Wars: The Clone Wars, and Scrooge McDuck in the DuckTales reboot. He also portrayed Kilgrave in the Marvel/Netflix show, Jessica Jones and Peter Vincent in Fright Night.