In this paper, a fault diagnosis method for spacecraft based on telemetry data mining and fault tree analysis was proposed. Decision trees are constructed from the history telemetry data of the spacecraft, and are used to classify the current data which is unknown whether it is fault. If there is a fault, the fault tree method will be used to analyze the fault reason and the impact on the spacecraft system. This method can effectively solve the problem of diagnostic knowledge acquisition. We design and construct a fault diagnosis expert system for spacecraft based on this diagnosis method. An experiment is presented to prove the effectiveness and practicality of the expert system.