A control device for a spark ignition type internal combustion engine having a variable valve timing mechanism which changes a valve timing of an intake valve, and a throttle, comprising: required torque acquiring means that acquires a required torque; variable valve timing mechanism control means that controls the variable valve timing mechanism in accordance with an operation state of the internal combustion engine; target air quantity calculating means that calculates a target air quantity for realizing the required torque, based on data that defines a relationship of an air quantity and a torque in an MBT in association with an operation state of the variable valve timing mechanism; throttle control means that controls the throttle to realize the target air quantity; actual air quantity calculating means that calculates an actual air quantity that is realized by an operation of the throttle; characterised in that said control device comprises basic ignition timing calculating means that calculates a basic ignition timing from the actual air quantity, based on data that defines a relationship between an air quantity and an ignition timing in a case in which the variable valve timing mechanism is in a maximum retardation position; advance correction amount determining means that determines an advance correction amount of the ignition timing for compensating a difference between a torque which is realized in the basic ignition timing and the required torque from the operation state of the variable valve timing mechanism; and final ignition timing determining means that determines a final ignition timing from the basic ignition timing and the advance correction amount. required torque acquiring means that acquires a required torque; variable valve timing mechanism control means that controls the variable valve timing mechanism in accordance with an operation state of the internal combustion engine; target air quantity calculating means that calculates a target air quantity for realizing the required torque, based on data that defines a relationship of an air quantity and a torque in an MBT in association with an operation state of the variable valve timing mechanism; throttle control means that controls the throttle to realize the target air quantity; actual air quantity calculating means that calculates an actual air quantity that is realized by an operation of the throttle; characterised in that said control device comprises basic ignition timing calculating means that calculates a basic ignition timing from the actual air quantity, based on data that defines a relationship between an air quantity and an ignition timing in a case in which the variable valve timing mechanism is in a maximum retardation position; advance correction amount determining means that determines an advance correction amount of the ignition timing for compensating a difference between a torque which is realized in the basic ignition timing and the required torque from the operation state of the variable valve timing mechanism; and final ignition timing determining means that determines a final ignition timing from the basic ignition timing and the advance correction amount.