The biggest shakeup of Trump's Cabinet since he took office in January 2017 was announced by the president on Twitter as his administration works toward a meeting with the leader of North Korea.
Some foreign policy experts criticised the decision to swap out top diplomats so soon before the unprecedented meeting and worried that Pompeo would encourage Trump to scrap the Iran nuclear deal and be hawkish on North Korea.
Trump chose the CIA's deputy director, Gina Haspel, to replace Pompeo at the intelligence agency. She is a veteran CIA clandestine officer backed by many in the U.S. intelligence community but regarded warily by some in Congress for her involvement in the agency's “black site” detention facilities.
Tillerson's departure capped months of friction between the Republican president and the 65-year-old former Exxon Mobil chief executive. The tensions peaked last fall amid reports Tillerson had called Trump a "moron" and considered resigning.
Trump said he and Pompeo have "a similar thought process."
Pompeo, a former Army officer who represented a Kansas district in Congress before taking the CIA job, is seen as a Trump loyalist who has enjoyed a less hostile relationship with career spies than Tillerson had with career diplomats.
Senior White House officials said Trump wanted his new team in place before any summit with Kim Jong un, who invited the U.S. president to meet by May after months of escalating tensions over North Korea's nuclear and missile programmes.