兴平元年(194年),三辅大旱,谷价腾贵,一斛谷值钱50万,长安城中甚至发生了人吃人的事件。刘协命令侍御侯汶出太仓米豆煮粥救济百姓,但因为粮食不够仍然有很多人饿死。刘协怀疑侯汶没有如实用全部粮食赈济灾民,而是趁机侵占公粮,于是派人取米、豆各五升在自己面前熬成粥,最后可以煮出两盆,证实是侯汶作弊,于是责打侯汶五十廷杖。之后长安城中饥民终于得到了救济。屯于郿城的征西将军马腾和屯于金城的镇西将军韩遂与朝臣种邵、马宇、刘范(刘焉之子)联系,袭击长安,李傕派郭汜\ufe51樊稠以及侄子李利与马腾、韩遂在大战于长平观下。马腾、韩遂大败,斩杀一万多人,马腾、韩遂败退回凉州。后来,朝廷下诏赦免马腾等人。四月,以马腾为安狄将军,韩遂为安降将军。
兴平二年(195年),李傕杀樊稠而与郭汜相攻。刘协趁李傕、郭汜二人内讧之际逃出长安,在杨奉、董承等的护卫下,进驻安邑。次年,时任兖州刺史的曹操迎接刘协入驻洛阳,刘协赐曹操节钺,标志着了曹操“奉天子以令不臣”的时代开始了。随后曹操胁迫刘协迁都到许,改称许都。但刘协依然是一个没有实权的皇帝。曹操虽然利用刘协来试图实现他统一中国的目的,却不敢直接取代他而自立为皇帝。
建安五年(公元200年)刘协不满曹操大权独揽,不甘心作为傀儡,乃暗下衣带诏,令董贵人的父亲车骑将军董承设法诛杀曹操。董承遂与左将军刘备、长水校尉种辑、将军吴子兰、王子服等一起密谋,结果事情败露,董承等人都被曹操诛杀,怀孕的董贵人也被绞杀。伏皇后畏惧曹操,于是写信给她的父亲伏完,尽数曹操残暴不仁之事,希望伏完能够效仿董承,铲除权臣,但伏完始终未敢行动。
建安十九年(公元214年)伏皇后要求其父伏完诛杀曹操的密谋败露,曹操要挟献帝废黜伏皇后,并代献帝写好了废黜伏皇后的诏书。接着,派御史大夫郗虑拿着诏书,同尚书令华歆一起带兵包围皇宫搜捕皇后。伏皇后藏到宫中的夹墙里,被华歆拖出。伏皇后披头散发赤脚走出,向献帝哭诉求救,刘协无奈地说:“朕也不知自己的生命何时终了呢!”回过头来对郗虑说:“郗公!天下有这道理吗?”伏皇后被幽闭而死,刘协与她所生的两位皇子亦以毒酒毒杀,伏氏宗族百余人被处死。建安二十年(公元215年),曹操威逼刘协立其女为皇后。
延康元年(公元220年),魏王曹操去世,他的儿子曹丕认为自己在北方的地位已经足够稳固,于12月10日。逼迫刘协禅让帝位给他,刘协告祭祖庙,使张音