A method for operating a gaseous-fuelled stoichiometric internal combustion engine, the engine being provided with an engine controller and with a three-way catalyst, wherein the primary fuel is a gaseous fuel, comprising: a) determining by mass an amount of pilot fuel, said pilot fuel being more readily auto-ignitable than said primary, gaseous fuel, as a function of detected engine operating conditions; b) determining by mass an amount of the primary, gaseous fuel to introduce into a combustion chamber defined by a cylinder and a reciprocating piston as a function of detected engine load and based on a total energy desired minus energy associated with said amount of pilot fuel; c) determining by mass an amount of exhaust gas recirculation from an engine exhaust system to an intake air system as a function of at least said engine load and/or another engine operating condition; d) determining an amount of air required for stoichiometric combustion as a function of said amount of pilot fuel, said amount of primary, gaseous fuel and said amount of exhaust gas recirculation: e) controlling an exhaust gas recirculation system to direct said amount of recirculated exhaust gas to said intake air system; f) controlling a pilot fuel injector to inject said amount of pilot fuel directly into said combustion chamber; g) controlling a gaseous fuel injector to inject said amount of primary, gaseous fuel directly into said combustion chamber where it forms a substantially homogenous mixture with said air and said recirculated exhaust gas; h) controlling said intake air system to introduce said amount of air into said combustion chamber; and i) igniting said pilot fuel by compressing an intake charge comprising said pilot fuel, said primary, gaseous fuel, said intake air and said recirculated exhaust gas, whereby the combustion of said pilot fuel triggers the ignition and stoichiometric combustion of said primary, gaseous fuel. a) determining by mass an amount of pilot fuel, said pilot fuel being more readily auto-ignitable than said primary, gaseous fuel, as a function of detected engine operating conditions; b) determining by mass an amount of the primary, gaseous fuel to introduce into a combustion chamber defined by a cylinder and a reciprocating piston as a function of detected engine load and based on a total energy desired minus energy associated with said amount of pilot fuel; c) determining by mass an amount of exhaust gas recirculation from an engine exhaust system to an intake air system as a function of at least said engine load and/or another engine operating condition; d) determining an amount of air required for stoichiometric combustion as a function of said amount of pilot fuel, said amount of primary, gaseous fuel and said amount of exhaust gas recirculation: e) controlling an exhaust gas recirculation system to direct said amount of recirculated exhaust gas to said intake air system; f) controlling a pilot fuel injector to inject said amount of pilot fuel directly into said combustion chamber; g) controlling a gaseous fuel injector to inject said amount of primary, gaseous fuel directly into said combustion chamber where it forms a substantially homogenous mixture with said air and said recirculated exhaust gas; h) controlling said intake air system to introduce said amount of air into said combustion chamber; and i) igniting said pilot fuel by compressing an intake charge comprising said pilot fuel, said primary, gaseous fuel, said intake air and said recirculated exhaust gas, whereby the combustion of said pilot fuel triggers the ignition and stoichiometric combustion of said primary, gaseous fuel.