A washing machine comprising: a cabinet; an outer tub elastically supported on the inside of the cabinet; an inner tub provided inside of the outer tub and configured to rotate; a motor configured to rotate the inner tub; a vibration sensor provided in the outer tub; a rotation sensor provided in the motor; and at least one processor electrically connected to the vibration sensor, the rotation sensor, and the motor and configured to: receive, from the vibration sensor, a vibration signal indicating a vibration of the outer tub detected by the vibration sensor, and receive, from the rotation sensor, a rotation signal indicating a rotation of the motor detected by the rotation sensor, and characterized in that the at least one processor is configured to: control a rotation speed of the motor based on a phase difference between the vibration signal and the rotation signal, rotate the motor at a first rotation speed based on a variation of the phase difference being less than a reference value, and rotate the motor at a second rotation speed, which is less than the first rotation speed, based on the variation of the phase difference being equal to or greater than the reference value. a cabinet; an outer tub elastically supported on the inside of the cabinet; an inner tub provided inside of the outer tub and configured to rotate; a motor configured to rotate the inner tub; a vibration sensor provided in the outer tub; a rotation sensor provided in the motor; and at least one processor electrically connected to the vibration sensor, the rotation sensor, and the motor and configured to: receive, from the vibration sensor, a vibration signal indicating a vibration of the outer tub detected by the vibration sensor, and receive, from the rotation sensor, a rotation signal indicating a rotation of the motor detected by the rotation sensor, and characterized in that the at least one processor is configured to: control a rotation speed of the motor based on a phase difference between the vibration signal and the rotation signal, rotate the motor at a first rotation speed based on a variation of the phase difference being less than a reference value, and rotate the motor at a second rotation speed, which is less than the first rotation speed, based on the variation of the phase difference being equal to or greater than the reference value. receive, from the vibration sensor, a vibration signal indicating a vibration of the outer tub detected by the vibration sensor, and receive, from the rotation sensor, a rotation signal indicating a rotation of the motor detected by the rotation sensor, and characterized in that the at least one processor is configured to: control a rotation speed of the motor based on a phase difference between the vibration signal and the rotation signal, rotate the motor at a first rotation speed based on a variation of the phase difference being less than a reference value, and rotate the motor at a second rotation speed, which is less than the first rotation speed, based on the variation of the phase difference being equal to or greater than the reference value. control a rotation speed of the motor based on a phase difference between the vibration signal and the rotation signal, rotate the motor at a first rotation speed based on a variation of the phase difference being less than a reference value, and rotate the motor at a second rotation speed, which is less than the first rotation speed, based on the variation of the phase difference being equal to or greater than the reference value.