A method of controlling a spark ignited internal combustion engine having a fuel injector which injects fuel directly into its combustion chamber, comprising: choosing an undivided intake stroke injection mode to inject fuel so as to complete the fuel injection by an early compression stroke or before the intake bottom dead center during a cylinder cycle when a speed of said engine is a first speed or higher; and choosing between an intake and compression stroke fuel injection mode to inject a first stage fuel so as to complete the first stage fuel injection by the early compression stroke during a cylinder cycle and to inject a second stage fuel in a late compression stroke during the cylinder cycle, an amount of said second stage fuel being greater than an amount of said first stage fuel, and a divided intake stroke injection mode to inject twice a half amount of fuel during an intake stroke in a cylinder cycle, the end of the fuel injection being in the early compression stroke at the latest, when an engine speed is less than a second speed that is less than said first speed and a desired torque of said engine is greater than a predetermined torque, wherein the intake and compression stroke fuel injection mode is chosen if the engine temperature (T ENG) is higher than a first predetermined temperature (T ENG1; S27) and an intake air temperature (T AIR) is higher than a second predetermined temperature (T AIR1; S28) or if the engine temperature (T ENG) is higher than the first predetermined temperature (T ENG1; S27), and the divided intake stroke injection mode is chosen if the engine temperature (T ENG) is not higher than the first predetermined temperature (T ENG1; S27) or the intake air temperature (T AIR) is not higher than the second predetermined temperature (T AIR1; S28). choosing an undivided intake stroke injection mode to inject fuel so as to complete the fuel injection by an early compression stroke or before the intake bottom dead center during a cylinder cycle when a speed of said engine is a first speed or higher; and choosing between an intake and compression stroke fuel injection mode to inject a first stage fuel so as to complete the first stage fuel injection by the early compression stroke during a cylinder cycle and to inject a second stage fuel in a late compression stroke during the cylinder cycle, an amount of said second stage fuel being greater than an amount of said first stage fuel, and a divided intake stroke injection mode to inject twice a half amount of fuel during an intake stroke in a cylinder cycle, the end of the fuel injection being in the early compression stroke at the latest, when an engine speed is less than a second speed that is less than said first speed and a desired torque of said engine is greater than a predetermined torque, wherein the intake and compression stroke fuel injection mode is chosen if the engine temperature (T ENG) is higher than a first predetermined temperature (T ENG1; S27) and an intake air temperature (T AIR) is higher than a second predetermined temperature (T AIR1; S28) or if the engine temperature (T ENG) is higher than the first predetermined temperature (T ENG1; S27), and the divided intake stroke injection mode is chosen if the engine temperature (T ENG) is not higher than the first predetermined temperature (T ENG1; S27) or the intake air temperature (T AIR) is not higher than the second predetermined temperature (T AIR1; S28).