Obama told the family and friends of Staff Sgt. Robert Miller that the 24-year-old Pennsylvania native had been born to lead, and had met his "testing point" with extraordinary courage.
The president told Miller's parents their son had died doing what he loved: protecting his friends and defending his country.
"You gave your oldest son to America," the president said, "and America is forever in your debt."
The president recounted the gripping story of Miller's leadership of a nighttime patrol of U.S. and Afghan troops in Kunar province near the Pakistan border on Jan. 25, 2008, when a much larger force of insurgents opened fire.
On that snowy day, Obama said, "like so many times before, Rob was up front."
Comrades who survived the battle say Miller continued advancing, firing and hurling grenades, even after he was wounded twice in the chest, pinning down enemy troops as he sought to rescue the others.
After the medal was presented, Obama hugged Miller's mother and shook hands with his father. He spoke of the sacrifice of all those service members who give their lives to protect America, but made no mention of Thursday's ninth anniversary of the bombardment that began the post-9/11 U.S. invasion of Afghanistan.
"Every American is safer because of their service," Obama said, "and every American has a duty to remember and honor their sacrifice."
Miller is the third U.S. service member to receive the Medal of Honor for the Afghanistan conflict.
More than 1,200 U.S. troops have perished in the Afghan conflict, and this year is already the deadliest yet. Afghanistan is America's longest war since Vietnam.
In August, the troop surge Obama ordered last December to reverse Taliban gains reached its peak. Currently, U.S. troop strength numbers just under 95,000.
While vowing not to let Afghanistan became a haven for al-Qaida, Obama has set a deadline of next summer to start drawing down U.S. forces and handing responsibility to Afghan troops.
Associated Press writer Sagar Meghani contributed to this report.