For a multiple-input multiple output (MIMO) communication system, the optimal detection is by the maximum-likelihood (ML) approach, which, however, has complexity that increases exponentially with the number of transmit antennas. In this paper, we propose a novel algorithm that implements the MIMO ML detection with reduced complexity. Our algorithm is developed based on a branch-and-bound (BB) principle. We apply a new type of cost function and give an efficient calculation algorithm. The initial reference data vector could be obtained by efficient MMSE-based algorithms. We also observe the impacts of initial reference data vectors.