An employment tribunal found that the pound;11,340-a-year Hampton school, in Middlesex and its headteacher, Barry Martin, discriminated against the teacher and had no grounds to sack him.
The 55-year-old teacher, who cannot be named for legal reasons, had been off work for six months when he contacted the school to say he was ready to return. But, after a number of meetings, the school fired him, claiming that he was refusing to co-operate with medical checks and that he had been dishonest about his experience at his original interview.
An employment tribunal unanimously found that Mr Martin had a hostile attitude to the teacher and did not deal with him fairly.
The tribunal has ordered that the teacher be paid loss of earnings from the time he was sacked in July 2003 to August 2007, as well as other compensation, including pound;17,000 for injury to his feelings. The school is appealing against the financial award, with a final decision expected next year.
Speaking to The TES, the teacher said: "I'm completely gobsmacked by what happened. My career has been effectively destroyed and my health has been damaged in the process."
Mr Martin said: "Although the school acted under legal and professional advice throughout and also consulted with the employee's association, we accept that, unfortunately, technical errors in employment law were made."