An ignition apparatus for an internal combustion engine which is equipped with an ignition coil including a primary coil and a secondary coil and a spark plug connected to the secondary coil and works to input energy to said spark plug using electromagnetic induction resulting from energization and deenergization of the primary coil to produce a discharge of a spark, comprising: a first circuit which energizes or deenergizes said primary coil to initiate a discharge of a spark in said spark plug; a second circuit which produces a flow of current through said primary coil in a direction opposite a direction in which a flow of current through said primary coil was produced by the first circuit during the discharge of the spark initiated by the first circuit, thereby keeping a flow of current through the secondary coil in the same direction as when a flow of current through the secondary coil has been initiated by the first circuit, to continue spark discharge; and a control portion (13, 14, 15) which controls operations of the first circuit and the second circuit, characterized in that the control portion further comprises: means for calculating a path length of a discharge of a spark between electrodes (8, 9) of the spark plug; and a first threshold value ( ε1) for the path length, and means for determining a time-sequential change rate ( ΔL / Δt) of the path length; and a second threshold value ( ε2) for the time-sequential change rate; and a special control mode for the second circuit, wherein an energy input amount of energy input by said second circuit is increased to be more than that a normal control mode; and wherein the normal control mode is entered when a calculated value of the path length is greater than said first threshold value ( ε1) and when the determined value of the time-sequential change rate is greater than said second threshold value ( ε2); and wherein the special control mode is entered when the calculated value of the path length is smaller than said first threshold value ( ε1) or the determined value of the time-sequential change rate is smaller than said second threshold value ( ε2). a first circuit which energizes or deenergizes said primary coil to initiate a discharge of a spark in said spark plug; a second circuit which produces a flow of current through said primary coil in a direction opposite a direction in which a flow of current through said primary coil was produced by the first circuit during the discharge of the spark initiated by the first circuit, thereby keeping a flow of current through the secondary coil in the same direction as when a flow of current through the secondary coil has been initiated by the first circuit, to continue spark discharge; and a control portion (13, 14, 15) which controls operations of the first circuit and the second circuit, characterized in that the control portion further comprises: means for calculating a path length of a discharge of a spark between electrodes (8, 9) of the spark plug; and a first threshold value ( ε1) for the path length, and means for determining a time-sequential change rate ( ΔL / Δt) of the path length; and a second threshold value ( ε2) for the time-sequential change rate; and a special control mode for the second circuit, wherein an energy input amount of energy input by said second circuit is increased to be more than that a normal control mode; and wherein the normal control mode is entered when a calculated value of the path length is greater than said first threshold value ( ε1) and when the determined value of the time-sequential change rate is greater than said second threshold value ( ε2); and wherein the special control mode is entered when the calculated value of the path length is smaller than said first threshold value ( ε1) or the determined value of the time-sequential change rate is smaller than said second threshold value ( ε2). means for calculating a path length of a discharge of a spark between electrodes (8, 9) of the spark plug; and a first threshold value ( ε1) for the path length, and means for determining a time-sequential change rate ( ΔL / Δt) of the path length; and a second threshold value ( ε2) for the time-sequential change rate; and a special control mode for the second circuit, wherein an energy input amount of energy input by said second circuit is increased to be more than that a normal control mode; and wherein the normal control mode is entered when a calculated value of the path length is greater than said first threshold value ( ε1) and when the determined value of the time-sequential change rate is greater than said second threshold value ( ε2); and wherein the special control mode is entered when the calculated value of the path length is smaller than said first threshold value ( ε1) or the determined value of the time-sequential change rate is smaller than said second threshold value ( ε2).