Heat the olive oil in a large, heavy-based frying pan over medium heat. Add the onion, garlic, carrots, celery and salt (the salt will help the vegetables sweat and not caramelise – we want softened, fragrant vegetables here). Cook for 3 minutes or until tender.
Add the beef mince and cook for a further 3 minutes, breaking up the beef as you go, until it is browned.
Stir through the pepper, onion powder, oregano and sugar.
Stir the tomato paste through and cook for 1 minute.
Add the beef stock and crushed tomatoes. Bring to a simmer.
Add the pasta and simmer with the lid on for 15 minutes or until the pasta is cooked through and most of the liquid has been absorbed, stirring occasionally. (Not enough liquid in the pan and the pasta is sticking? See note 2.)
Add the milk and the cheese. Stir until the cheese has melted. Season to taste. (If there is too much liquid or not enough liquid, see note 3.)
Add the mozzarella on top, replace the lid and leave to sit for 30 seconds until the cheese has melted.
Sprinkle with parsley and serve!
