Mê cung địa thần
Phân vai

Ivana Baquero trong vai Ofelia/Công chúa Moanna, một cô bé tin rằng mình là chuyển sinh của một công chúa từ âm phủ. Del Toro cho biết ông rất lo lắng về việc chọn vai chính và việc tìm thấy nữ diễn viên nhí 10 tuổi người Tây Ban Nha hoàn toàn là tình cờ (phim được ghi hình từ tháng 6 đến tháng 10 năm 2005, khi cô 11 tuổi). "Nhân vật tôi xây dựng ban đầu nhỏ tuổi hơn (khoảng 8 hoặc 9 tuổi), rồi Ivana xuất hiện và cô bé lớn hơn nhân vật một chút, cô bé sở hữu mái tóc xoăn mà tôi chưa bao giờ tưởng tượng ra. Nhưng tôi thích lần đọc kịch bản đầu tiên của cô bé, vợ tôi đã khóc và cô quay phim cũng khóc sau khi cô bé đọc và tôi biết chắc chắn rằng Ivana là nữ diễn viên xuất sắc nhất từng xuất hiện, nhưng tôi biết rằng mình cần phải thay đổi kịch bản để phù hợp với độ tuổi của cô bé." Baquero nói rằng Del Toro đã gửi cho cô ấy nhiều truyện tranh và truyện cổ tích để giúp cô ấy "nhập vai hơn vào bầu không khí của Ofelia và những gì cô ấy cảm nhận". Cô nói rằng mình thấy bộ phim thật "kỳ diệu" và cho biết "phim đồng thời có thể mang lại cho bạn nỗi đau, nỗi buồn, nỗi sợ hãi và hạnh phúc".
Sergi López trong vai Đại úy Vidal, cha dượng mới của Ofelia và một sĩ quan đảng Falang. Del Toro gặp López ở Barcelona vào thời điểm một năm rưỡi trước khi bộ phim bấm máy để mời anh thủ vai Vidal. Ở các vùng của Tây Ban Nha, López được xem là một diễn viên tâm lý tình cảm hoặc hài kịch, nên các nhà sản xuất ở Madrid nói với del Toro, "Anh nên rất cẩn thận khi không biết những điều này vì là người Mexico, nhưng anh chàng này sẽ không thể diễn được đâu"; del Toro đáp: "Chà, không phải là tôi không biết, mà là tôi không quan tâm". Về nhân vật của mình, López chia sẻ: “Anh ta là nhân vật độc ác nhất mà tôi từng đóng trong sự nghiệp của mình. Chẳng thể nào diễn tốt hơn được nữa; nhân vật quá hay và được xây dựng cực tốt. Vidal là một kẻ thần kinh nhân cách và loạn trí mà chẳng thể bào chữa. Mặc dù tính cách của người cha làm cho anh ta tồn tại - và chắc chắn là một trong những lý do làm anh ấy mắc chứng rối loạn tâm thần - nhưng đó không thể là lời bào chữa. Có vẻ như sẽ rất cay độc nếu sử dụng điều đó để bào chữa hoặc giải thích cho những hành động tàn ác và hèn nhát của anh ta. Tôi nghĩ thật tuyệt khi bộ phim không xem xét bất kỳ bào chữa nào cho chủ nghĩa phát xít."
Maribel Verdú trong vai Mercedes, quản gia của Vidal. Del Toro đã chọn Verdú vào vai nhà cách mạng nhân ái vì ông "nhìn thấy ở cô ấy nỗi buồn mà ông nghĩ sẽ hoàn hảo cho vai diễn này".
Doug Jones trong vai Faun và quái vật Pale Man. Với vai Faun, Jones hướng dẫn Ofelia đến thế giới kỳ ảo. Trong vai Pale Man, anh hoá thân thành một con quái vật kỳ cục ham ăn thịt trẻ con. Trước đó Jones từng hợp tác với del Toro trong các dự án Mimic và Hellboy, anh cho biết vị đạo diễn đã gửi cho mình một email nói rằng, "Cậu phải tham gia bộ phim này. Không ai khác có thể diễn vai này ngoài cậu." Jones nhiệt tình hưởng ứng bản dịch tiếng Anh của kịch bản, nhưng rồi phát hiện ra bộ phim có kịch bản bằng tiếng Tây Ban Nha mà anh không biết nói. Jones chia sẻ rằng mình "kinh hãi" và del Toro đề nghị học chữ viết theo ngữ âm, nhưng Jones từ chối vì thích tự học các từ hơn. Anh chia sẻ, "Tôi thật sự đã cố gắng hết sức và tự cam kết học từng từ  một và tôi đã phát âm được nửa phần là đúng ngay trước khi tôi diễn", anh tận dụng 5 giờ mỗi ngày để mặc trang phục và hoá trang rồi luyện chữ. Sau đấy Del Toro quyết định lồng tiếng cho Jones bằng giọng của Pablo Adán, "một diễn viên kịch có thực lực", nhưng những nỗ lực của Jones vẫn có giá trị vì diễn viên lồng tiếng có thể khớp lời thoại của mình với cử động miệng của Jones. Việc Jones đảm nhận hai vai nhằm gợi ý rằng Pale Man (cùng với con cóc) là tác phẩm mà Faun tạo ra hoặc chính Faun ở dạng khác.
Ariadna Gil trong vai Carmen/Nữ hoàng âm phủ, mẹ của Ofelia và vợ của Vidal.
Álex Angulo trong vai Bác sĩ Ferreiro, một bác sĩ phục vụ cho Vidal, nhưng là một người chống Francoist.
Manolo Solo trong vai Garcés, một trong những phụ tá của Vidal.
César Vea trong vai Serrano, một trong những phụ tá của Vidal.
Roger Casamajor trong vai Pedro, anh trai của Mercedes và là một thành viên của phiến quân.
Federico Luppi trong vai Vua âm phủ, cha của Ofelia.
Pablo Adán trong vai Người kể chuyện/Giọng của Faun.