El castillo de Craigmillar es un castillo medieval situado en la ciudad escocesa de Edimburgo, en una pequeña colina al sur del barrio de Craigmillar. Su edificación fue iniciada a finales del siglo XIV por la familia Preston, barones feudales de Craigmillar, quienes también realizarían ampliaciones en los siglos XV y XVI. En 1660 el castillo fue vendido a John Gilmour, quien le realizó nuevas modificaciones. La familia Gilmour abandonó Craigmillar en el siglo XVIII y el castillo cayó en ruinas.[1]
Es conocido históricamente por su relación con María I de Escocia. Sucedió que, tras dar a luz a su hijo, el futuro Jacobo I de Inglaterra, contrajo una enfermedad y viajó a Craigmillar, donde llegó el 20 de noviembre de 1566, para pasar allí su convalecencia. Ya recuperada, el 7 de diciembre del mismo año tuvo lugar el «Pacto de Craigmillar», del cual se desconoce si María tuvo conocimiento, para asesinar a su marido Enrique Estuardo.
Craigmillar, bajo administración de la asociación Historic Scotland, es considerado como uno de los castillos medievales mejor conservados de toda Escocia.[2] La torre del homenaje está rodeada por la muralla del patio central, datada del siglo XV que presenta características arquitectónicas propias de estructuras de defensa militar.[3] Dentro del patio hay más edificios y todo el conjunto está rodeado por una muralla y un patio exterior que contiene una capilla y un palomar.