Stanislaw Skupian, 38, crossed the finish line after picking up legitimate runner Jake Halliday's lost number.
He was pictured at the end of the 26.2 mile race celebrating with a finisher's medal.
Scotland Yard said Skupian was charged on May 18 and appeared at Uxbridge Magistrates' Court on the same day.
The Crown Prosecution Service confirmed on Friday he pleaded guilty to one count of fraud by false representation at the hearing.
The charge, detailed in court papers, states Skupian used a "stolen race identifier for the London Marathon" and crossed the finish line.
It says he intended to make a gain for himself, "namely a finisher's medal and other items associated with completing the London Marathon".
Skupian, of no fixed address, also admitted three further charges of theft at Heathrow Airport.
A woman put the medal around my neck and told me 'well done'. I kept kissing it - it was my biggest moment ever
He has been remanded in custody ahead of sentence.
Mr Halliday, who had been running for charity Bloodwise, did not complete the race after losing his number.
He said on Friday he was unaware Skupian had pleaded guilty to fraud over the incident and did not want to comment on the case.
Skupian told the Sun he spotted the lost number as he neared the finish line having jumped a barrier to join the race at the 12 mile mark.
"I had no thoughts of the person whose number it was," he told the paper.
"I picked it up and held it to my chest as I crossed the line, I was in tears.
"A woman put the medal around my neck and told me 'well done'. I kept kissing it - it was my biggest moment ever."
A London Marathon spokeswoman said organisers would not comment until the end of the legal process.