The freeze will cost £640m over four years, less than the £1.9bn over five years cost projected by Transport for London during the election campaign.
Mr Khan will review TfL's layers of management, cut agency staff, review projects and freeze salaries of top managers to make savings.
Travelcards, monthly Oyster cards and daily caps are exempt from the freeze.
The Liberal Democrats have criticised the mayor for breaking his fares freeze promise as the benefits will not be felt by passengers using travelcards.
"Not what he said in his campaign," said Lib Dem London Assembly Member Caroline Pidgeon.
Conservative group leader Gareth Bacon said: "Sadiq Khan was asked about his fares freeze thousands of times during the mayoral campaign.
"Not once did he mention that this freeze would not include travelcards."
Mr Khan said he could only freeze TfL fares, not those under the control of Department for Transport.
"Londoners currently pay some of the highest public transport fares anywhere in the world," the mayor said.
"My fares freeze on TfL services will make life easier for millions of people and will ensure that London becomes a more affordable city for all."
London's transport commissioner, Mike Brown, said the savings needed to deliver a fares freeze for two years had been found, and the rest of the money could be found in the autumn.
"For the first two years it is enshrined. The money is there.
"Over the summer... all the money will be found. We will achieve this."
The new mayor will:
Most passengers will pay the same fares in 2020 as they do now, London Mayor Sadiq Khan has announced.