Heat the oil in a large frying pan then add the onions, garlic, black pepper and salt. Cook slowly on a low heat until the onions are softened but not coloured.
Remove half the onions with a slotted spoon and place in a large mixing bowl with the breadcrumbs and milk. Remove the rest of the onions from the pan and set aside.
Remove the meat from the sausage skins and mix with beef mince, the parsley, plenty of salt and pepper then add to the breadcrumbs and onion mixture.
Use your hands to mix everything together. Shape the mixture into meatballs and set aside on a plate.
Cook the macaroni according to packet instructions, drain and set aside.
Heat the oil again and then brown the meatballs in batches until browned all over. When all the meatballs are browned return the onions to the pan along with the wine. Bring to the boil and stir in the tomatoes and the meatballs. Simmer for 5 minutes.
Combine the cooked macaroni into the meatball sauce then tip everything into the largest casserole dish you have.
Pour over the white sauce and top with the grated cheese. Bake for 30-35 minutes until bubbling and golden. Serve.