Heat olive oil in a large skillet over medium heat. Add carrots, onion, and garlic; cook and stir until tender, about 10 minutes. Add ground beef; cook, stirring and breaking up meat, until browned, 5 to 7 minutes. Drain off excess fat from the skillet.
Stir in 1 cup milk; bring to a simmer. Reduce heat to medium-low and cook until milk is absorbed, about 15 minutes.
Transfer beef mixture to a slow cooker and set to High. Stir in crushed tomatoes, tomato paste, basil, oregano, salt, pepper, and red pepper flakes. Cover and cook on High for 2 hours. Stir in remaining ½ cup milk and Parmesan; cook for 2 more hours.