Wash tomatoes and slice an X onto the top of each one (this will help the skins come off easily). Place tomatoes into a large pot and add enough water just to cover them. Cook covered for about 20 minutes, or until the tomato skins begin to peel away from the flesh.
Pour tomatoes (and all their delicious juices) into a food mill over a large bowl. In batches, mill the mix until you have a puree of tomatoey goodness.
In another large pan (a Dutch oven is a good choice), melt butter, add chopped onion, celery, carrots and garlic and cook for about 15 minutes over medium heat. Add chopped basil leaves and cook for 5 minutes more.
Add tomatoes that have been churned through the food mill to the veggie mixture, and simmer on low until the sauce has thickened, about 30-45 minutes. At this point, you can leave it chunky, or use an immersion blender, standing blender, or food processor to puree the sauce into a smooth, creamy consistency.
I poured about half of the sauce into sealed containers and placed them into the freezer. I then made spaghetti and meatballs with the other half, since that’s about the only way I can get my family to eat tomato sauce.