Everything tastes better stuffed with cheese! But really though, the best beef bolognese sauce with ricotta stuffed shells. No baking, no fussing!
In a large dutch oven or pot (5.5 qt or larger capacity), heat up the olive oil on low-medium heat. Brown the ground beef while breaking it into small pieces as it cooks. Add a large pinch of salt and fresh cracked black pepper to season the meat.
Once beef is mostly browned (~5 minutes), add the onions, carrots, and garlic. Stir and cook on medium heat until onion is mostly translucent (~5 minutes).
Stir in the milk and simmer for 3-5 minutes. Adjust heat lower as needed so that the milk doesn't burn.
Then, stir in the dry red wine and simmer for ~2-3 minutes. Next, add the tomato paste, diced tomatoes, bay leaf, thyme, oregano, crushed red pepper, sugar, and 1 tsp salt. Stir and bring pot to a simmer.
Once sauce is brought to a low boil, turn down the heat so that it's slowly bubbling/simmering (not a rolling boil!!). Leave partially or half-covered for 2 hours, stirring occasionally to make sure nothing is sticking to the bottom of the pot. We want the sauce to be thick! If sauce is sticking too much or drying out too earlyh, cook with the lid covered or add 1/4 cup of water to loosen up mixture — however, keep in mind that the sauce at the end should not be watery. Salt to taste as you are cooking the sauce. I usually do a taste test each time I go to stir since the flavor will deepen and develop as it cooks.
About ~15 minutes before serving, gently cook the jumbo pasta shells. Be careful not to break the shells when adding into the water or when stirring! Drain pasta shells after cooking for 1-2 minutes less than the package instructions (we want al dente shells).
After shells have cooled down a little and are cool enough to be manipulated by hand, spoon ~1 tbsp of ricotta into each shell and then roll them back up. We want the ricotta secure inside and no longer showing, so adjust the amount accordingly! No need to fill the broken shells that can't be rolled up.
Once shells are filled, add all the pasta (even the unfilled, broken ones) into the sauce and stir gently. We don't want the cheese to leak out so stir slowly and fold the sauce over the shells until it is evenly distributed. Let the shells heat back up in the sauce for ~2-3 minutes to make sure the cheese inside is warmed through. Carefully stir to make sure nothing is sticking to the bottom of the pot.
Serve with the extra ricotta (if any) and garnish with fresh cracked black pepper and basil.