To a large, deep frying pan, add enough oil to cover the base and heat. Sautée the onion, carrots and garlic until the onion is translucent but not browning. Add the garlic and beef mince and continue to cook until the mince is browned and almost cooked.
Stir in the tin of tomatoes, beef stock, tomato paste, sugar, chipotle ketchup (if using) and bay leaf. Bring to a boil, then turn the heat down and simmer over medium heat until the sauce has reduced to the desired consistency (about 30-40 minutes). Check for seasoning and add salt and pepper at the end.
Pre-heat the oven to 190C.
In the meantime, boil the potatoes in water until soft enough to pierce easily with a sharp knife (about 20 minutes). Drain well. In a bowl, mash the potatoes well together with the butter, mustard and milk. Check for seasoning and add salt and pepper to taste.
Spoon the cooked mince into an ovenproof casserole dish, discarding the bay leaf. Spread the mashed potato as evenly as possible over the top, making sure all the mince is covered. Score some lines in the top of the potato with a fork, then sprinkly liberally with the grated cheese. Place in the pre-heated oven for 30 minutes or until the potato topping turns golden brown. You can also turn the grill on for a few minutes towards the end.