Combine the basil leaves, garlic, pine nuts, salt, pepper and oil in a blender or food processor. Blend to a smooth puree, stopping once or twice to scrape the sides of the container with a spatula.
Transfer the basil mixture to a large bowl and beat the grated cheeses and butter in by hand. You can also use the blender or food processor to blend the cheeses and butter into the pesto, but I think that finishing it by hand gives it a better texture and still saves you the time with processing the leaves and oil.
To freeze the pesto, fill small jars to within 1 inch of the top. Carefully push a layer of plastic wrap onto the surface to prevent a dark layer from forming on the top. Seal the jar tightly and freeze up to 6 months.
To use only part of the pesto, remove the jar from the freezer and run cool water over the top portion of it. Remove the lid and, using a metal spoon, scoop out the desired amount of pesto. Promptly return the unused portion to the freezer.