Cook beef in a large skillet over medium-high heat, breaking it up with a wooden spoon, until browned, 4 to 5 minutes. Transfer to a strainer or colander and drain off fat.
Heat oil in the skillet over medium-high heat. Add carrots, onion and celery; cook, stirring occasionally, until the onion softens and begins to brown, 4 to 5 minutes. Add mushrooms and garlic; reduce heat to medium and cook, stirring occasionally, until the mushrooms begin to soften, 3 to 4 minutes.
Add tomatoes and mash with a potato masher. Add wine, fennel seeds, crushed red pepper, salt and the meat; bring to a simmer. Reduce heat to low; cover and cook, stirring occasionally, until the sauce is slightly thickened and the flavors have developed, about 30 minutes.
Meanwhile, bring a large pot of lightly salted water to a boil. Cook pasta until just tender, 9 to 11 minutes or according to package directions. Drain and toss with the sauce. Sprinkle with parsley, if desired. Pass Parmesan separately, if using.
If you're only serving 2 or 3 people, toss half the sauce with 6 ounces cooked pasta; freeze the remaining sauce. If you're serving more than 6 or are just feeling industrious, you can easily double the sauce recipePasta cooked al dente has a lower glycemic index than overcooked pasta, and whole-wheat choices are lower than white.