The multiple-input multiple-output (MIMO) system makes efficient use of spectrum and it increases the transmission throughput in wireless communications. The sphere decoding (SD) is an efficient algorithm that enables the optimal maximum-likelihood (ML) detection for the MIMO system. However, the SD algorithm is of much higher complexity, especially at lower signal-to-noise ratio (SNR). In this paper, we propose an efficient ML detection algorithm for the MIMO system based on differential metrics. We first define differential metrics of different orders and derive the associated the recursive calculation. We then give the indicative functions, which can be used to determine some ML bits of the initial sequence. The differential metrics and indicative functions are then used to implement an efficient tree search for the ML detection. The proposed algorithm does not need QR decomposition and matrix inversion, and the tree search process needs only the operation of addition while there are constant numbers of multiplication before the tree search. Unlike the SD algorithm whose complexity increases rapidly with the decreasing SNR, the proposed algorithm has nearly constant complexity for all SNR and the average complexity is lower than the SD algorithm, especially at lower SNR.