Block diagonalization (BD) algorithm is a generalization of the channel inversion that converts multiuser multi-input multi-output (MIMO) broadcast channel into single-user MIMO channel without inter-user interference. In this paper, we combine the BD technique with a minimum mean square error vector precoding (MMSE-VP) for achieving further gain in performance with minimal computational overhead. Two key ingredients to make our approach effective are the QR decomposition based block diagonalization and joint optimization of transmitter and receiver parameters in the MMSE sense. In fact, by optimizing precoded signal vector and perturbation vector in the transmitter and receiver jointly, we pursue an optimal balance between the residual interference mitigation and the noise enhancement suppression. From the sum rate analysis as well as the bit error rate simulations (both uncoded and coded cases) in realistic multiuser MIMO downlink, we show that the proposed BD-MVP brings substantial performance gain over existing multiuser MIMO algorithms.