A method for controlling an engine clutch, comprising: determining, by a controller, whether an engine start condition is satisfied when an engine is stopped; performing, by the controller, an engine cranking operation by operating a hybrid starter & generator, HSG, when the engine start condition is satisfied; determining, by the controller, whether an engine speed is greater than or equal to a first reference speed; generating engine torque when the engine speed is greater than or equal to the first reference speed; reducing, by the controller, an HSG torque when the engine speed is greater than or equal to the first reference speed; determining, by the controller, whether the engine speed is greater than or equal to a second reference speed; calculating, by the controller, a target speed of the engine when the engine speed is greater than or equal to the second reference speed; wherein the calculating of the target speed of the engine includes: calculating, by the controller, initial offset based on the second reference speed and a motor speed when the engine speed reaches the second reference speed; dividing, by the controller, the initial offset to generate an offset input; and interpolating, by the controller, the offset input to generate an interpolated offset input; performing, by the controller, speed control of the engine using the target speed of the engine; determining, by the controller, whether an engine clutch engagement condition is satisfied while performing the speed control; and engaging, by the controller, an engine clutch when the engine clutch engagement condition is satisfied. determining, by a controller, whether an engine start condition is satisfied when an engine is stopped; performing, by the controller, an engine cranking operation by operating a hybrid starter & generator, HSG, when the engine start condition is satisfied; determining, by the controller, whether an engine speed is greater than or equal to a first reference speed; generating engine torque when the engine speed is greater than or equal to the first reference speed; reducing, by the controller, an HSG torque when the engine speed is greater than or equal to the first reference speed; determining, by the controller, whether the engine speed is greater than or equal to a second reference speed; calculating, by the controller, a target speed of the engine when the engine speed is greater than or equal to the second reference speed; wherein the calculating of the target speed of the engine includes: calculating, by the controller, initial offset based on the second reference speed and a motor speed when the engine speed reaches the second reference speed; dividing, by the controller, the initial offset to generate an offset input; and interpolating, by the controller, the offset input to generate an interpolated offset input; performing, by the controller, speed control of the engine using the target speed of the engine; determining, by the controller, whether an engine clutch engagement condition is satisfied while performing the speed control; and engaging, by the controller, an engine clutch when the engine clutch engagement condition is satisfied. calculating, by the controller, initial offset based on the second reference speed and a motor speed when the engine speed reaches the second reference speed; dividing, by the controller, the initial offset to generate an offset input; and interpolating, by the controller, the offset input to generate an interpolated offset input; performing, by the controller, speed control of the engine using the target speed of the engine; determining, by the controller, whether an engine clutch engagement condition is satisfied while performing the speed control; and engaging, by the controller, an engine clutch when the engine clutch engagement condition is satisfied.