Cook the pasta according to the directions on the box.
Sauté the aromatics. Meanwhile, heat the olive oil in a large skillet or Dutch oven set over medium heat. Add the onions to the hot oil and cook for 3 minutes. Stir in the garlic and cook for 1 more minute. Stir frequently.
Cook the veggies and ground meat. Add the celery and carrots, and cook for 5 minutes. Add more oil, if needed. Increase the heat to medium-high and stir in the ground beef; cook for 8 to 10 minutes or until browned, stirring frequently to break up the beef.
Add the remaining ingredients. Stir in the crushed tomatoes, parsley, and basil; bring to a boil, then reduce the heat to medium-low. Season with salt and pepper, and continue to cook for 25 minutes, or until the sauce has thickened. Taste for salt and pepper, and adjust accordingly.
Serve. Spoon the Bolognese sauce over the cooked and drained rigatoni. Top with grated pecorino romano and parsley, and serve.
Notes
Pasta: Rigatoni is a tube-shaped pasta with ridges along the outside, which helps it cling to the Bolognese pasta sauce. You can also use penne pasta. Generally, heartier sauces are served with wider, bigger noodles, and noodles like fettuccine or linguine are best paired with cream sauces.
Ground Beef: I love my bolognese prepared with ground beef, but it's also really good with ground turkey or even Italian Sausage.
Low and Slow: Let the bolognese sauce simmer gently. The longer it simmers, the more the flavors meld together, enhancing the taste.