Soak the bread in the warm milk for 10 minutes. Mix the now mushy bread with the beef, pancetta, onion, parmesan, egg and a good amount of salt and pepper, and knead gently until everything is combined.
Scoop out large, walnut-sized lumps of mixture and shape into balls, roughly four centimetres in diameter. Leave them to rest for two hours, if possible.
In a non-stick frying pan large enough to accommodate all the balls in a single layer, coat the bottom of the pan with olive oil, put on a medium flame and add the meatballs, nudging them gently so they brown all sides.
Lift the meatballs from the pan on to a warm plate.
Cut the cabbage into quarters, cut away its core and then shred each into thick slices. There should still be some oil in the pan (if not, add more) put it back on the flame. Add the garlic, the cabbage and a pinch of salt.
Stir and turn the cabbage with wooden spoon until it wilts. Cover the pan with lid, lower the flame and cook for 15 minutes, or until cabbage is very tender. Taste and add salt and pepper as required.
Add the tomatoes to the cabbage, cook for a few minutes, then add the meatballs, stir, cover and simmer gently for another 15 minutes. Serve warm, with mash, bread or rice.