Heat olive oil in a large saucepan over medium heat. Add the onions, carrots, and celery, and sauté until they are tender, about 8-10 minutes.
Add the tomato paste and stir until browned, about 3-4 minutes. Add the beef, about 1 ½ teaspoon salt, about ½ teaspoon black pepper, and red pepper flakes, if using. Cook until the beef has browned, about 15 minutes, breaking up the beef as you stir it.
Turn the heat down to medium-low, add the tomatoes, and continue cooking. When the tomatoes get tender, use a wooden spoon to smash about two-thirds of them. Cook until the tomatoes are fully integrated with the beef and the sauce has thickened, about 30 minutes. Stir in the heavy cream and remove the saucepan from the heat.
While the sauce is simmering, cook the pasta according to package directions.
Serve the Bolognese over pasta and top with freshly grated parmesan cheese.