The Colombian rebel group ELN on Monday freed two soldiers it captured three weeks ago in an attack that killed 12 troops and police, the Red Cross said.