Place a large pan or Dutch oven over medium heat and add the ground beef.
Cook until browned, breaking it up with a wooden spoon so there are no large lumps. Add olive oil only if the pan looks dry.
Add the onions and garlic, then cook until soft and translucent.
Add the carrot and celery, then cook for another 5 minutes.
Pour in the red wine and scrape the bottom of the pan. Let the wine reduce until almost fully evaporated.
Stir in the tomato paste and cook for 2 minutes. Add the chopped tomatoes, chili if using, black pepper, sugar, milk, beef stock, bay leaves, thyme, and salt. Stir well, lower the heat, cover with a lid, and simmer gently for 2 hours.
Remove the lid and cook for another 30 minutes, or until the sauce has thickened and the meat is tender.
Stir occasionally while cooking so the sauce does not stick to the bottom of the pan. Remove the bay leaves before assembling the lasagna.