Eusebio, 70, was admitted to Lisbon's Luz hospital two weeks ago after arriving on a medical flight from Poland.
"Eusebio left the hospital this afternoon, feeling good and out to have a meal," said Luz hospital spokesman, Joao Paulo Gama. "He will be doing physiotherapy at home".
Eusebio, Portugal's football ambassador, has been admitted to hospital four times since December. He has been suffering from hypertension.
Nicknamed the 'black panther', Eusebio grabbed international headlines during the 1966 World Cup in England when Portugal finished third. He also helped his Portuguese club side Benfica reach four European Cup finals in the 1960s.