The family of Ghulam Nabi, who was 10 at the time, would be given an "appropriate" sum, a spokeswoman said.
Grenadier Guardsman Daniel Crook was sent to military prison for 18 months and dismissed from the army after the attack.
He had been drinking heavily the night before he attacked the boy, who was running an errand.
His court martial hearing was told that the evening before the incident, in March 2010, Crook had to be treated by medics after drinking a "considerable quantity of vodka".
He later said he could not explain why he had stabbed the boy.
Afghanistan: British soldier killed on duty
18 Aug 2012
The MoD spokeswoman said: "The MoD has accepted liability for this appalling incident and appropriate compensation will be paid on receipt of medical reports.
"The soldier involved in this incident was tried at court martial, found guilty and sentenced to dismissal from Her Majesty's Service and detention for 18 months.
"Incidents of this kind are extremely rare but any allegations of ill treatment are investigated thoroughly.
"Protecting the Afghan civilian population is one of the UK's top priorities; all British troops undergo comprehensive training on the strict rules of engagement under which UK forces operate."
On the day the boy was attacked, Crook's unit had left a checkpoint in the Nad e Ali district to go on patrol.
The soldier followed, arming himself with two grenades and a bayonet because his rifle had been confiscated as a safety measure.
He came across two Afghans riding bikes - one of them was Ghulam, who had been sent out to collect a bottle of yoghurt.
According to prosecutors at his court martial in June 2011, the child had pestered Crook for chocolate.
In response, the soldier "took hold of the boy's shoulder and stabbed him in the region of his kidneys with his bayonet".
Afterwards, Crook caught up with the patrol and admitted he had stabbed the child. When questioned by military police he could not explain why he had done so.
At the court martial, Crook was jailed and dismissed from the Army.
The boy's father Haji Shah Zada, 72, told The Guardian the attack had left his son with a large scar on his back and that he is now unable to run errands for his family.
He said British forces were "in Afghanistan to build the country and remove insurgents, not to stab a child".