A method for controlling combustion of a burner, comprising: a step of igniting the burner in turn comprising the following sub-steps: - supplying a predefined quantity of comburent to the burner; - activating flame ignition means so as to be able to ignite a flame in a subsequent step; - supplying a fuel to the burner through a supply pipe of the fuel; said step of supplying the fuel to the burner being implemented by varying a flow rate of said fuel according to a predefined ignition ramp starting from a predefined initial value ( ImodIgnMin) up until causing the flame to ignite so as to ignite the burner; following the igniting of the burner, detecting a combustion value (Iono) representing a quality of the flame using detecting means of the quality of the flame operatively positioned at the flame; checking whether the detected combustion value Iono falls within a range of predefined values ( IonoMax and IonoMin); whether the combustion value (Iono) detected falls outside said range of predefined values, switching off the burner by interrupting the supply of fuel and implementing a re-igniting step which includes repeating the step of igniting the burner; said repeated ignition step being implemented by increasing the flow rate of said fuel according to an ignition ramp and/or a predefined initial value (ImodIgnMin) that are different to the ignition ramp and/or to the predefined initial value (ImodIgnMin) used during the step of igniting the burner in which the detected combustion value (Iono) fell outside the range of predefined values. a step of igniting the burner in turn comprising the following sub-steps: - supplying a predefined quantity of comburent to the burner; - activating flame ignition means so as to be able to ignite a flame in a subsequent step; - supplying a fuel to the burner through a supply pipe of the fuel; said step of supplying the fuel to the burner being implemented by varying a flow rate of said fuel according to a predefined ignition ramp starting from a predefined initial value ( ImodIgnMin) up until causing the flame to ignite so as to ignite the burner; - supplying a predefined quantity of comburent to the burner; - activating flame ignition means so as to be able to ignite a flame in a subsequent step; - supplying a fuel to the burner through a supply pipe of the fuel; said step of supplying the fuel to the burner being implemented by varying a flow rate of said fuel according to a predefined ignition ramp starting from a predefined initial value ( ImodIgnMin) up until causing the flame to ignite so as to ignite the burner; following the igniting of the burner, detecting a combustion value (Iono) representing a quality of the flame using detecting means of the quality of the flame operatively positioned at the flame; checking whether the detected combustion value Iono falls within a range of predefined values ( IonoMax and IonoMin); whether the combustion value (Iono) detected falls outside said range of predefined values, switching off the burner by interrupting the supply of fuel and implementing a re-igniting step which includes repeating the step of igniting the burner; said repeated ignition step being implemented by increasing the flow rate of said fuel according to an ignition ramp and/or a predefined initial value (ImodIgnMin) that are different to the ignition ramp and/or to the predefined initial value (ImodIgnMin) used during the step of igniting the burner in which the detected combustion value (Iono) fell outside the range of predefined values.