Mo Folchart (Brendan Fraser) is a "Silvertongue" - a person with the power to bring to life anything he reads aloud from a book. There is a catch: whenever a book character is brought into our world, a human takes his place in fiction. Years ago, Mo read from a book called "Inkheart", which brought Dustfinger (Paul Bettany) and the villain, Capricorn (Andy Serkis) into our world and stranded his wife, Resa, in the book.
With his teenage daughter, Meggie, who unknowingly is also a Silvertongue, they search for a copy of the book in order to bring her back. When they finally find one, they are found by both Dustfinger and Capricorn. It is revealed that Mo's wife is back into our world after Capricorn's own Silvertongue brought her back - but since the guy has a stutter, she was only partially brought into our world and cannot speak.
Eventually, Mo, Meggie, Dustfinger, Great Aunt Elinore (Helen Mirren), the book's author, Fenoglio (Jim Broadbent) and an Arabian thief brought in from "Ali Baba and the 40 Thieves" all end up in Capricorn's castle, where he reveals his plan to use Meggie to summon The Shadow, an evil creature from the Inkheart book and thus take over our world. When the use of some pages rewritten by Fenoglio to get rid of the monster fail, Meggie writes an ending to the story on her own arm and reads aloud: The Shadow gets rid of Capricorn and his cronies and disappears.
Resa regains her speech and the family is happily reunited. Mo keeps his promise and sends Dustfinger back into the world of fiction and to his wife; Fenoglio is sent off to live with his own literary creations at his own request, and the Arab prince chooses to remain in our world.