Heat olive oil in a large, heavy-bottomed pot over medium heat. Add the finely chopped onion, carrot, and celery, and cook until softened and translucent, about 8 minutes. Stir occasionally to prevent sticking.
Add the garlic and cook for a further minute until fragrant.
Add the minced beef and pork (if using) to the pot. Increase the heat slightly to brown the meat. Break up the meat with a wooden spoon, ensuring it cooks evenly. Once browned, remove any excess fat.
Deglaze the pan with white wine, scraping up any browned bits from the bottom of the pot. Allow the wine to reduce by half, which will concentrate the flavours.
Stir in the tomato purée, then add the canned tomatoes, breaking them up with the spoon. Add a pinch of salt, freshly ground black pepper, and any herbs you’re using (such as thyme or bay leaves).
Simmer gently over low heat for about 1.5 to 2 hours, stirring occasionally. The sauce should thicken and the flavours should meld together. If it gets too thick, add a splash of water or broth to adjust the consistency. Taste and adjust the seasoning as necessary.
Add the milk gradually, stirring to combine. This step helps mellow the acidity of the tomatoes and gives the sauce its rich, velvety texture. Continue cooking for another 30 minutes, stirring often.
Once your ragù is ready, set it aside to cool slightly.