For multiple-input multiple-output (MIMO) systems, the optimum maximum likelihood (ML) detection requires tremendous complexity as the number of antennas or modulation level increases. This paper proposes a new algorithm which attains the ML performance with significantly reduced complexity. Based on the minimum mean square error (MMSE) criterion, the proposed scheme reduces the search space by excluding unreliable candidate symbols in data streams. Utilizing the probability metric which evaluates the reliability with the normalized likelihood functions of each symbol candidate, near optimal ML detection is made possible. A threshold parameter is introduced to balance a tradeoff between complexity and performance. Besides, we propose an efficient way of generating the log likelihood ratio (LLR) values which can be used for coded systems.