President Obama will meet with and thank U.S. troops for their military service, according to officials. He will also speak with Afghan President Hamid Karzai, who is in Kabul. Their face-to-face meeting at the presidential palace was canceled due to bad weather in Kabul.
The unannounced visit comes days before a full review of the war plan in Afghanistan. U.S. troops have been involved in the conflict for 9 years. On the flight, the White House said Obama's war review would include no major policy changes.
Obama landed in darkness at Bagram Air Base. He will spend three hours there, according to the White House, about half the scheduled time.
The secret trip has been in the works for more than a month. National Security aide Ben Rhodes said Obama wanted to go to Afghanistan between Thanksgiving and Christmas.
"It's always tough to serve in harm's way but when you're away from loved ones in the holiday season it's particularly hard, and the president wanted the ability to come out and have some time with them," Rhodes said.
Rhodes said the scrapping of the personal visit with Karzai would not have consequences because the two just met at a NATO summit in Lisbon two weeks ago.
Obama also visited Afghanistan in July 2008 as a senator from Illinois.
The Associated Press contributed to this report. All rights reserved.