An engine start system designed to restart an engine when an engine restart request is made before complete stop of the engine following an engine stop request for use in an idle stop system for automotive vehicle comprising: a pinion gear which is movable between an engaged position where the pinion gear engages a ring gear coupled to a crankshaft of an engine and a disengaged position where the pinion gear is disengaged from the ring gear; a pinion actuator working to move said pinion gear from the disengaged position to the engaged position; a starter motor which is supplied with electric power to rotate said pinion gear; and a controller working to control supply of the electric power to said starter motor, when an engine restart request is made, said controller performs a decision task being to decide whether a speed of the engine is lower than or equal to a preselected speed or not, a pinion moving task being to move said pinion to the engaged position when the decision tasks determines that the speed of the engine is lower than or equal to the preselected speed, a condition decision task being to decide whether a given condition is met or not after execution of the pinion moving task, a power supply task being to supply the electric power to said starter motor when said condition decision task decides that the given condition is met; characterized in that: the engine start system is further comprising a one-way clutch disposed between said starter motor and said pinion gear, said one-way clutch working to transmit torque from said starter motor to said pinion gear and block transmission of torque from said pinion gear to said starter motor; upon reception of the engine restart request, the controller waits without turning the pinion gear until the engine speed drops below the preselected speed and then moves the pinion gear to the engaged position, and said condition decision task decides that the given condition is met, when a standby time that is a time required by the pinion gear to engage the ring gear has elapsed; wherein when the engine has been found at a given time as being rotating in a reverse direction, said condition decision task decides whether a longer standby time that is a time longer than the standby time has elapsed or not, and wherein when it is decided that the longer standby time has elapsed, said condition decision task decides the given condition is met. a pinion gear which is movable between an engaged position where the pinion gear engages a ring gear coupled to a crankshaft of an engine and a disengaged position where the pinion gear is disengaged from the ring gear; a pinion actuator working to move said pinion gear from the disengaged position to the engaged position; a starter motor which is supplied with electric power to rotate said pinion gear; and a controller working to control supply of the electric power to said starter motor, when an engine restart request is made, said controller performs a decision task being to decide whether a speed of the engine is lower than or equal to a preselected speed or not, a pinion moving task being to move said pinion to the engaged position when the decision tasks determines that the speed of the engine is lower than or equal to the preselected speed, a condition decision task being to decide whether a given condition is met or not after execution of the pinion moving task, a power supply task being to supply the electric power to said starter motor when said condition decision task decides that the given condition is met; a decision task being to decide whether a speed of the engine is lower than or equal to a preselected speed or not, a pinion moving task being to move said pinion to the engaged position when the decision tasks determines that the speed of the engine is lower than or equal to the preselected speed, a condition decision task being to decide whether a given condition is met or not after execution of the pinion moving task, a power supply task being to supply the electric power to said starter motor when said condition decision task decides that the given condition is met; the engine start system is further comprising a one-way clutch disposed between said starter motor and said pinion gear, said one-way clutch working to transmit torque from said starter motor to said pinion gear and block transmission of torque from said pinion gear to said starter motor; upon reception of the engine restart request, the controller waits without turning the pinion gear until the engine speed drops below the preselected speed and then moves the pinion gear to the engaged position, and