Puree tomatoes in a blender or food processor and heat in a saucepan.
Heat the butter or oil in a large stockpot.
Add the onion and garlic and saute until tender and onion is translucent.
Add the flour and stir until slightly browned.
Add the sugar, salt, and the pepper.
Add the milk and stir constantly over medium-high heat until it starts to thicken.
Stir in the heated tomato puree and the tomato paste and simmer slowly for 5-10 minutes, allowing flavors to marry. Adjust seasonings if necessary.