築城年代は定かではない。古くは前九年の役の安倍頼時の磐基駅に擬定されている。
花巻城の前身は鳥谷ヶ崎城といい稗貫氏の居城であった。稗貫氏の出自は諸説あるが、鎌倉時代頃に稗貫郡に入部し、はじめ小瀬川館(あるいは瀬川館)を居城とし、ついで本館(十八ヶ城とも)、最後に鳥谷ヶ崎城を居城とした。
永享8年(1436年)南部を支援した薄衣氏が稗貫氏の十八ヶ城を攻めた際にここに陣を構えていることから、鳥谷ヶ崎城の築城はそれ以後という。
天正18年(1590年)豊臣秀吉による小田原征伐に参陣しなかったため、稗貫広忠は奥州仕置で領地を没収され、鳥谷ヶ崎城には浅野長吉が滞在し、長吉は浅野重吉を目代として置いた。稗貫広忠は和賀義忠が浅野家臣後藤半七の籠る二子城を攻めた際、これに呼応して鳥谷ヶ崎城を攻め落とし奪還に成功した。しかし、天正19年(1591年)には一揆を平定する秀吉の軍勢に二子城・鳥谷ヶ崎城ともに落城し、稗貫広忠は大崎氏を頼って落ちたという。
一揆平定後、南部家臣北秀愛が八千石を領して花巻城代となり近世城郭へと改修された。慶長3年(1598年)秀愛が死去すると替わって父北信愛が城代となる。
慶長5年(1600年)南部氏が山形に出陣中のときを狙って和賀忠親が一揆を起こし花巻城へ押し寄せた。一揆軍は本丸まで攻めよせたが、信愛は城内にいた13名の士卒と婦女子だけで持ちこたえ、北十左衛門の援軍が駆けつけ一揆軍を退けた。
慶長18年(1613年)信愛が没すると南部利直の次男政直が二万石で城主となった。
政直没後は嗣子なく城代が置かれ、以後明治に至る。