Using a box grater, grate the onion, carrot, and celery. Preheat a large pot or pan to medium-low heat with a drizzle of oil.
Add the veggies to the pan and sauté for 5-10 minutes with a sprinkle of salt until very soft and slightly dark at the edges.
Add the beef with another sprinkle of salt and cook until browned and slightly crispy, breaking up with a spoon as you go.
Add the tomato paste and garlic and stir to combine for 2 minutes.
Add the wine and stir to remove any stuck bits from the bottom of the pan. Let the wine reduce all the way, about 5 minutes.
Add the tomatoes, beef stock, and balsamic glaze. Stir to combine and add a few more pinches of salt. Adjust the heat as needed so the mixture is simmering but not boiling. Let the sauce simmer for 1-2 hours, stirring every 20 minutes (stir all the way to the bottom of the pan so the sauce doesn't stick).
When the beef stock and tomato juices are mostly reduced (go with the sauce rather than the clock), add the milk and continue to stir for 30-45 minutes more, stirring every once in awhile. During this time, taste and add more salt to your preference, probably about 2 teaspoons kosher salt from start to finish. This amount will depend on your ingredients, but the sauce should be very flavorful at the end.
To serve right away, cook pasta during the milk simmering period. I toss a bit of pasta cooking water with the sauce. To serve, I toss the pasta with about ⅓ of the sauce then top with extra sauce and Parmesan cheese.
To save for later, let the homemade Bolognese cool to room temperature, then freeze or keep in the fridge until ready to serve.