La provincia había sido establecida en 1269 en las tierras que hasta entonces habían sido parte del bohemio Margraviato de Moravia, cuando el rey Ottokar II de Bohemia invistió a su hijo natural Nicolás I con Opava. Conjuntamente con el adyacente ducado de Racibórz estaba bajo el gobierno directo de una rama cadete de la dinastía real Premislida —a diferencia de la mayor parte de los otros ducados silesios gobernados por los Piastas de Silesia—, quienes en gran parte también habían pasado a ser vasallos de Bohemia en 1327. Nicolás retuvo Opava después de que el último gobernante Premislida de Bohemia, el rey Wenceslao III fuera muerto en 1306. En las siguientes luchas por el trono bohemio, respaldó las reclamaciones del candidato Luxemburgo, Juan el Ciego, quien a cambio enfeudó a su hijo y sucesor Nicolás II con el Ducado de Opava en 1318. En 1337 Nicolás II también recibió el vecino ducado de Racibórz a la muerte del último duque Piasta, Leszek.
Cuando el Duque Nicolás II murió en 1365, su hijo mayor Juan I heredó el Ducado de Racibórz, mientras que el ducado de Opava desde 1367 fue gobernado conjuntamente por él y sus hermanos menores Nicolás III, Wenceslao I y Přemek I. Cuando en 1377 los hermanos finalmente se dividieron la herencia de Opava, el mayor, Juan I, recibió el recién creado Ducado de Krnov juntamente con las fincas de Bruntál. A su muerte en 1380/82, Racibórz, Krnov y Bruntál fueron heredados por su hijo mayor Juan II "el Férreo".
En 1384 el Duque Juan II vendió Krnov al duque Piasta Vladislao de Opole, quien lo cedió al margrave Luxemburgo Jobst de Moravia en 1390. Después de la muerte de Jobst en 1411, su primo el emperador Segismudno empeñó Krnov al duque Piasta Luis II de Brieg, pero en 1422 de nuevo lo cedió a Juan II, quien pudo redimir el empeño. Dos años más tarde, el ducado fue heredado por sus hijos Wenceslao II y Nicolás V, quienes gobernon conjuntamente hasta 1437, cuando Nicolás recibió recibió Krnov junto con Bruntál, Pless, Rybnik, Loslau y Sohrau. A su muerte en 1452, Krnov y Loslau pasaron a manos de su hijo mayor Juan IV, mientras que Rybnik, Sohrau y Pless pasaron a manos de su hermano menor Wenceslao III.
Los duques Premislidas finalmente perdieron Krnov durante la guerra bohemia-húngara en 1474 en favor de Matías Corvino, entonces antirrey de Bohemia, quien capturó y arrestó a Juan IV. Después de la muerte de Juan en 1483, su hermana Bárbara, consorte del Duque Jan IV de Oświęcim, intentó recuperar el ducado; sin embargo, Vladislao II Jagellón, habiendo prevalecido como rey bohemio, no tenía intención de devolver el ducado confiscado sino que lo enfeudó a su canciller Johann von Schellenberg. Se alcanzó un acuerdo en 1492, cuando Helena, la hija de Bárbara, contrajo matrimonio con Jorge, el hijo de Schellenberg.
En 1523 Jorge de Schellenberg tuvo que vender Krnov al margrave HohenzollernJorge de Brandeburgo-Ansbach, quien podía confiar en la herencia húngara de su consorte Beatriz de Frangepán, viuda de Matías Corvino. Desde 1532 el margrave gobernó sobre toda la Alta Silesia, cuando también heredó el ducado de Opole y Racibórz del duque Piasta Jan II el Bueno. Reconstruyó el Castillo de Krnov e introdujo la Reforma Protestante en Silesia, expulsando previamente las congregaciones locales de los Caballeros Teutónicos, Franciscanos y Frailes Menores. El creciente poder de la protestante Casa de Hohenzollern en las tierras de la corona silesias eran observadas con sospecha por Fernando I de Habsburgo, rey de Bohemia desde 1526. No obstante, Jorge así como su hijo el margrave Jorge Federico, quien gobernó a partir de 1543, pudieron mantener el ducado. El conflicto se agravó cuando Jorge Federico murió sin descendencia en 1603 y legó Krnov a su primo el Elector Juan Jorge en 1607. Los gobernantes Habsburgo consideraban el ducado como un feudo revertido y después de la Rebelión bohemia y la batalla de la Montaña Blanca de 1620, el emperador Fernando II confiscó las posesiones de los Hohenzollern en las tierras bohemias. El Príncipe Carlos I de Liechtenstein, leal partidario de Fernando, Duque de Opava desde 1613, recibió Krnov. Ambos ducados fueron fusionados en 1623 y sujetos a la Contrarreforma.
La Casa de Hohenzollern nunca abandonó las reclamaciones sobre el territorio y más de cien años más tarde, las posesiones de Krnov y Racibórz fueron un pretexto para el rey prusiano Federico el Grande para iniciar la Primera Guerra Silesia, terminando con la anexión de la mayor parte de Silesia según el Tratado de Breslavia de 1742. Mientras una pequeña parte septentrional fue fusionada con el ahora prusiano ducado de Opole, el grueso del ducado de Krnov permaneció dentro de la Corona de Bohemia como parte de la Silesia austríaca. Reorganizado como Distrito de Krnov (Krnovský kraj) desde 1751, fue finalmente disuelto después de la Revolución de 1848, cuando la Silesia austríaca fue elevada al rango de territorio de la corona de Cisleithania.
Karl August Müller: Vaterländische Bilder, oder Geschichte und Beschreibung sämmtlicher Burgen und Ritterschlösser Schlesiens beider Antheile und der Grafschaft Glatz. Zweite Auflage, Glogau 1844, pp. 178-181.
Gottlieb Biermann: Geschichte der Herzogthümer Troppau und Jägerndorf. Prochaska, Teschen 1874.
Ludwig Petry u. a. (Hrsg.): Geschichte Schlesiens. Vol. 1: Von der Urzeit bis zum Jahre 1526. 5. durchgesehene Auflage. Thorbecke, Sigmaringen 1988, ISBN 3-7995-6341-5. pp. 184f, 239, 289.
Ludwig Petry u. a. (Hrsg.): Geschichte Schlesiens. Vol. 2: Die Habsburger Zeit 1526-1740. Thorbecke, Sigmaringen 1988. ISBN 3-7995-6342-3.