Precise commutation signal is the prerequisite for the efficient operation of brushless direct current (BLDC) motors. However, the low-pass filter (LPF), non-ideal current, circuit and software retarding can bring about commutation errors which will deteriorate the performance of BLDC motors, for example, resulting in larger current ripple and noise. To eliminate the commutation errors quickly and improve the performance of the motor, a novel compensation method is proposed in this letter. The compensation time is calculated by a counter. And the start-stop signals of the counter are obtained by the virtual neutral voltage. The proposed method requires none voltage or current sensor and have faster compensation speed and higher precision than the traditional compensation method based on integration of virtual neutral voltage. The effectiveness of the proposed method is verified by comparable experiments using an 80W BLDC motor.