Chop up the tomatoes, then put them through a food mill or press them through a conical sieve. You want to separate all the juice and pulp from the seeds. Set the tomato sauce aside and discard the seeds.
Heat the oil in a deep saucepan over medium heat. Add the onion and cook for about 3 minutes. Turn the heat down if the onions start to brown.
Add the carrots and cook for another 5 to 6 minutes, or until the onions are soft and translucent.
Add the meat and break it up into small pieces. Cook for 10 to 12 minutes, or until the meat is no longer pink.
Stir in the tomato sauce and the mushrooms. Bring the sauce to a boil, then reduce the heat to a simmer and let it cook for about 40 minutes.
Stir in the sliced basil and cook for another 5 minutes.
Cook the spaghetti according to the package’s directions. Drain it and return it to the pot. Add the butter and parmesan. Toss to combine.
Serve the spaghetti topped with the sauce, sprinkled with parmesan.
