西漢置平氏縣和復陽縣,后屢有變遷。隋開皇十八年(598)改桐柏縣,因位于桐柏山麓,以山為名。元廢桐柏縣,改鎮。明成化十二年(1476)重置桐柏縣。
抗戰時期,中共中原局、中原行署和桐柏軍區,曾駐此縣。1984年被河南省政府認定為老革命根據地(蘇區)縣。
1996年?,桐柏縣面積1941平方千米,人口42萬人。轄8個鎮、8個鄉:城關鎮、大河鎮、月河鎮、毛集鎮、平氏鎮、吳城鎮、固縣鎮、埠江鎮、回龍鄉、朱莊鄉、安棚鄉、城郊鄉、黃崗鄉、鴻儀河鄉、程灣鄉、新集鄉。縣政府駐城關鎮。
2000年第五次人口普查,桐柏縣總人口403359人,其中:城關鎮50425人、月河鎮36418人、吳城鎮28603人、固縣鎮24364人、毛集鎮39214人、大河鎮14800人、埠江鎮37661人、平氏鎮22714人、淮源鎮21422人、城郊鄉27409人、回龍鄉8696人、黃崗鄉16259人、朱莊鄉12964人、安棚鄉29254人、程灣鄉14762人、新集鄉18394人。
2005年末,桐柏縣轄9個鎮、7個鄉:城關鎮、月河鎮、固縣鎮、毛集鎮、大河鎮、平氏鎮、埠江鎮、吳城鎮、淮源鎮;回龍鄉、黃崗鄉、朱莊鄉、新集鄉、程灣鄉、安棚鄉、城郊鄉。
2008年,黃崗鄉、安棚鄉撤鄉設鎮;4月21日,黃崗鎮正式掛牌成立。調整后,全縣轄11個鎮、5個鄉:城關鎮、月河鎮、吳城鎮、固縣鎮、毛集鎮、大河鎮、埠江鎮、平氏鎮、淮源鎮、黃崗鄉、安棚鄉、城郊鄉、回龍鄉、朱莊鄉、程灣鄉、新集鄉。