Heat the olive oil in a large Dutch oven over medium heat. Add the celery, onions, and carrot. Cook until the vegetables have softened and the onions have started to caramelize, at least 15 minutes and up to 45 (the longer you allow the onions to caramelize, the better the overall flavor).
Add the beef, pork, salt, black pepper, red pepper and Mam Lil’s, allow meat to brown, breaking up as it cooks.
Add the milk and allow to cook until the milk looks as though it is mostly cooked off, and the pan looks mostly dry, about 10 minutes.
Add the stout, cooking until the beer is mostly gone, about 15 minutes.
Stir in the tomatoes and tomato puree, cook over medium/low heat (very low simmer), for three to four hours (you can transfer the sauce to a slow cooker instead, cook on low for 8 hours).
Stir in the parmaesan in the last ten minutes of cooking.
Serve over pasta, sprinkle with additional parmesan if desired.