A control device for an internal combustion engine of a spark-ignition type that injects fuel directly into a combustion chamber, the control device comprising: a temperature detecting means configured to detect the temperature of the combustion chamber; a load detecting means configured to detect the load of the internal combustion engine; and a control means configured to perform: a first control when the temperature of the combustion chamber is lower than or equal to a predetermined temperature such that the timing of fuel injection in the intake stroke is advanced to 40° to 50° after top dead center when the load of the internal combustion engine is higher than a predetermined load and the timing of fuel injection in the intake stroke is delayed to 60° to 80° after top dead center when the load of the internal combustion engine is lower than or equal to the predetermined load, and a second control when the temperature of the combustion chamber is higher than the predetermined temperature such that the timing of fuel injection in the intake stroke is delayed to 80° to 90° after top dead center when the load of the internal combustion engine is higher than the predetermined load and the timing of fuel injection in the intake stroke is advanced to 40° to 50° after top dead center when the load of the internal combustion engine is lower than or equal to the predetermined load. a temperature detecting means configured to detect the temperature of the combustion chamber; a load detecting means configured to detect the load of the internal combustion engine; and a control means configured to perform: a first control when the temperature of the combustion chamber is lower than or equal to a predetermined temperature such that the timing of fuel injection in the intake stroke is advanced to 40° to 50° after top dead center when the load of the internal combustion engine is higher than a predetermined load and the timing of fuel injection in the intake stroke is delayed to 60° to 80° after top dead center when the load of the internal combustion engine is lower than or equal to the predetermined load, and a second control when the temperature of the combustion chamber is higher than the predetermined temperature such that the timing of fuel injection in the intake stroke is delayed to 80° to 90° after top dead center when the load of the internal combustion engine is higher than the predetermined load and the timing of fuel injection in the intake stroke is advanced to 40° to 50° after top dead center when the load of the internal combustion engine is lower than or equal to the predetermined load. a first control when the temperature of the combustion chamber is lower than or equal to a predetermined temperature such that the timing of fuel injection in the intake stroke is advanced to 40° to 50° after top dead center when the load of the internal combustion engine is higher than a predetermined load and the timing of fuel injection in the intake stroke is delayed to 60° to 80° after top dead center when the load of the internal combustion engine is lower than or equal to the predetermined load, and a second control when the temperature of the combustion chamber is higher than the predetermined temperature such that the timing of fuel injection in the intake stroke is delayed to 80° to 90° after top dead center when the load of the internal combustion engine is higher than the predetermined load and the timing of fuel injection in the intake stroke is advanced to 40° to 50° after top dead center when the load of the internal combustion engine is lower than or equal to the predetermined load.