A method for controlling combustion in a multi-cylinder engine, comprising: injecting fuel into at least two cylinders (23a, 23b, 23c, 23d, 23e, 23f) of the multi-cylinder engine; introducing intake air into the at least two cylinders (23a, 23b, 23c, 23d, 23e, 23f); and introducing EGR gas into the at least two cylinders (23a, 23b, 23c, 23d, 23e, 23f); wherein the cylinders (23a, 23b, 23c, 23d, 23e, 23f) will each have an intake gas introduced through an intake valve (43a, 43b, 43c, 43d, 43e, 43f), respectively, associated with each cylinder (23a, 23b, 23c, 23d, 23e, 23f), the intake gas being a mixture of fresh intake air and EGR gas, the ratio of fresh air to EGR gas in a given cylinder depending upon engine operating conditions including an amount of EGR flow, atmospheric pressure and temperature, engine load and speed, and a degree of mixing of fresh air and EGR gas that occurs before the intake gas enters the cylinders, characterised by for each cylinder (23a, 23b, 23c, 23d, 23e, 23f), separately adjusting timing for at least one of the intake valve (43a, 43b, 43c, 43d, 43e, 43f) and an exhaust valve (45a, 45b, 45c, 45d, 45e, 45f) for the cylinder (23a, 23b, 23c, 23d, 23e, 23f) so as to affect the composition of exhaust from each cylinder (23a, 23b, 23c, 23d, 23e, 23f), for each cylinder (23a, 23b, 23c, 23d, 23e, 23f), separately controlling at least one fuel injection parameter to produce a desired exhaust composition for that cylinder (23a, 23b, 23c, 23d, 23e, 23f), wherein the at least one fuel injection parameter includes fuel injection timing, fuel injection quantity and fuel injection pressure, wherein the fuel injection quantity is adjusted for particular cylinders (23a, 23b, 23c, 23d, 23e, 23f) to achieve desired exhaust emissions for those cylinders (23a, 23b, 23c, 23d, 23e, 23f) only when desired emission levels cannot be achieved by adjusting the fuel injection timing or the fuel injection pressure, and controlling the at least one fuel injection parameter as a function of said engine operating conditions. injecting fuel into at least two cylinders (23a, 23b, 23c, 23d, 23e, 23f) of the multi-cylinder engine; introducing intake air into the at least two cylinders (23a, 23b, 23c, 23d, 23e, 23f); and introducing EGR gas into the at least two cylinders (23a, 23b, 23c, 23d, 23e, 23f); wherein the cylinders (23a, 23b, 23c, 23d, 23e, 23f) will each have an intake gas introduced through an intake valve (43a, 43b, 43c, 43d, 43e, 43f), respectively, associated with each cylinder (23a, 23b, 23c, 23d, 23e, 23f), the intake gas being a mixture of fresh intake air and EGR gas, the ratio of fresh air to EGR gas in a given cylinder depending upon engine operating conditions including an amount of EGR flow, atmospheric pressure and temperature, engine load and speed, and a degree of mixing of fresh air and EGR gas that occurs before the intake gas enters the cylinders, characterised by for each cylinder (23a, 23b, 23c, 23d, 23e, 23f), separately adjusting timing for at least one of the intake valve (43a, 43b, 43c, 43d, 43e, 43f) and an exhaust valve (45a, 45b, 45c, 45d, 45e, 45f) for the cylinder (23a, 23b, 23c, 23d, 23e, 23f) so as to affect the composition of exhaust from each cylinder (23a, 23b, 23c, 23d, 23e, 23f), for each cylinder (23a, 23b, 23c, 23d, 23e, 23f), separately controlling at least one fuel injection parameter to produce a desired exhaust composition for that cylinder (23a, 23b, 23c, 23d, 23e, 23f), wherein the at least one fuel injection parameter includes fuel injection timing, fuel injection quantity and fuel injection pressure, wherein the fuel injection quantity is adjusted for particular cylinders (23a, 23b, 23c, 23d, 23e, 23f) to achieve desired exhaust emissions for those cylinders (23a, 23b, 23c, 23d, 23e, 23f) only when desired emission levels cannot be achieved by adjusting the fuel injection timing or the fuel injection pressure, and controlling the at least one fuel injection parameter as a function of said engine operating conditions.